二维字符数组str[100][20]在未赋初值时,默认的值是100个‘\0’,还是系统随机给100个字符?

如题所述

这个取决于编译器,对于大多数编译器,如果在main函数上面定义的话,是默认'\0'的,如果是main里面定义,那么会是随机的字符~

所以说写程序一定要弄好初值问题,一般都要赋上初值。
对于数组赋初值0可以加上头文件#include <string.h>
然后用memset(f,0,sizeof(f));来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-30
如果是编译的debug版本,str[100][20]声明的方式在栈区,所以会被编译器填充为 0xCC
如果是编译的release版本,会被编译器填充为所有的 '\0'
参考:http://hi.baidu.com/luosiyong/blog/item/3d4c66af48435fe3fbed50d7.html
第2个回答  2011-12-30
看编译器的,vs,delphi初始值为0,c的话是随机的,你完全可以定义一个数组后,然后就输出其中一个元素的值,就知道了

有个错误要提醒一下,str【100】【20】 有100*20个值,而非100个值
第3个回答  2011-12-30
看你的变量在哪里,如果是全局变量,那么就是这样,如果是局部变量就是随机数,你可以用memset这个函数来初始化
第4个回答  2011-12-30
随机的。
第5个回答  2011-12-30
应该是随机的吧
相似回答