读书人

字符串数组(不是字符串)解决方法

发布时间: 2013-01-18 10:22:42 作者: rapoo

字符串数组(不是字符串)
下面的代码为啥输出结果啥都没有?

char S[10000][50]; //定义一个字符串数组。一共有10000个字符串,每个字符串涵盖50个字符的。

int main(){
printf("%c\n",S[0][0]);
return 0;
}

另外如果:
char S[10000][50]; //定义一个字符串数组。一共有10000个字符串,每个字符串涵盖50个字符的。

int main(){
printf("%c\n",S[0][0]+1); //加个1
return 0;
}
为啥打印出一个笑脸? 字符串数组
[解决办法]
汗 楼上各位 没注意到吗 楼主是定义了全局变量 那个数组有初始化的 值全部是0
第一次%c输出ascii 0
第二次%c输出ascii 1
都是不可显示字符
具体显示什么和环境有关
[解决办法]
全局字符数组变量的默认初始值是'\0',而该字符值是不可显示字符,所以

printf("%c\n",S[0][0]);
打印结果好像是什么也没有。
printf("%c\n",S[0][0] + 1);
会打印出笑脸是因为S[0][0] + 1的值等于笑脸字符的ASCII(你可查看笑脸ASCII值)。

读书人网 >C语言

热点推荐