字符串数组(不是字符串)
下面的代码为啥输出结果啥都没有?
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值)。