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

一个关于数组的有关问题

2012-02-16 
一个关于数组的问题这样的一个程序#include stdio.h#include string.hmain(){inticharc[5]puts(get

一个关于数组的问题
这样的一个程序;
#include <stdio.h>
#include <string.h>

main()

{     int   i;
char   c[5];
                puts(gets(c));
                  getch();
}
当我输入:   abcdefghijkelmn   时为什么还能输出   :  
abcdefghijkelmn呢?  
想不通.请大家指教.

[解决办法]
gets函数参数传进去是指针,所以定义的数据大小并不能限制输入字符的个数。程序是把输入的字符存在以c指向的内存地址连续的内存(栈内存)。而且一直到最后一个字符的下一个才有字符串结束符 '\0 ',这也是puts能显示整个字符串的原因。

热点排行