|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void main()
{
char ch[3][4]={"123","456","78"};
int i;
for(i=0;i<3;i++)
{
printf("%s",ch[i]);
puts(ch[i]);
}
}
我想问一下,这个输出的ch[i]是指输出一行的数吗
还有开头ch[3][4]一共12个数,而给了8个数,其余数不应该默认为零吗,那零怎么不输出,拜托了,谢谢
本帖最后由 sunrise085 于 2020-5-13 14:45 编辑
看一下存储,你存进去的是字符,下表是各个单元的内容,其中最后一个单元的内容可能是'\0',也可能是其他的,与编译器有关,前11个单元都是你存进去的,“123”是字符串,长度为4,包含最后的那个结束字符。
| 0 | 1 | 2 | 3 | ch[0] | '1' | '2' | '3' | '\0' | ch[1] | '4' | '5' | '6' | '\0' | ch[2] | '7' | '8' | '\0' | '\0' |
另外,你用%d看一下存储单元的ASCII码值就知道了 - #include <stdio.h>
- void main()
- {
- char ch[3][4]={"123","456","78"};
- int i,j;
- for(i=0;i<3;i++)
- for (j=0;j<4;j++)
- {
- printf("%d ",ch[i][j]);
- //puts(ch[i]);
- }
- }
复制代码
|
|