首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

VC6 二维字符数组 输出WINDOWS报错,该怎么处理

2012-02-11 
VC6 二维字符数组 输出WINDOWS报错#include stdio.h#includestring.h intmain(){chara[2][20]inti,j

VC6 二维字符数组 输出WINDOWS报错
#include <stdio.h>
#include   "string.h "
int   main()
{  
char   a[2][20];
int   i,j;
for(i=0;i <=2;i++)
gets(a[i]);
for(i=0;i <=2;i++)
puts(a[i]);
}

我输入3行字符后,屏幕输出我刚才输入的3行字符,之后WINDOWS的自动报错窗口就弹了出来,说我这个程序遇到问题需要关闭。怎么回事呢?

[解决办法]
char a[2][20];
你只定义了2个字符串,输入三个就数组越界了
改:char a[3][20];

[解决办法]
char a[2][20];
int i,j;
for(i=0;i <=2;i++)//for(i=0;i <2;i++)
gets(a[i]);
for(i=0;i <=2;i++)//for(i=0;i <2;i++)

puts(a[i]);
按照我//后的改就ok了,你一共就2个串,循环时用了三个

热点排行