4038| 4
|
编过好多程序后发现我不会C语言系列:VC变量类型 字符数组和字符的关系。打印字符和字符串类型的困惑 |
1金钱
最佳答案char *a[2]={"z","v"}; 这句话里面, a的定义实际上是指向char*的数组,a[0]指向"z"这个字符串的地址,a[1]指向"v"这个字符串的地址。
a[0]=&b; 这时把b的地址赋给a[0].
printf("a[0]c=%c\n",a[0]); a[0]是个地址,所以这里打印出来的是这个地址的首字节
printf("a[0]s=%s\n",a[0]); a[0]这个地址指向的是b,但是b本身是单个个字符,没有0结尾,所以会内存访问后溢到内存为0的地方。当然第一个字符会是'b'
printf("a[0]c=%c\n ...
| ||
发表于 2017-3-2 17:17:04
|
显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
| |
| ||
| ||
| ||
|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )
GMT+8, 2024-11-24 13:27
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网