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

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

2013-01-18 
字符串数组(不是字符串)下面的代码为啥输出结果啥都没有?char S[10000][50] //定义一个字符串数组。一共有

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

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值)。

热点排行