读书人

VC6 二维字符数组 输出WINDOWS报错,该

发布时间: 2012-02-11 09:51:35 作者: rapoo

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个串,循环时用了三个

读书人网 >C++

热点推荐