h********5 发帖数: 276 | 1 题目如下,问输出是什么
int i[] = {'a', 'b', '\0'};
printf("%s",(char *)i);
打印出ab?
%s打印pointer我觉得好像根本不能打印啊,是个地址出来的是乱码吧。。。
搞不清楚 | n****5 发帖数: 81 | 2 %s 是当作字符串打印。应该输出a,因为在memory中的pattern是0x61 0x00 0x00 0x00
… = 'a | n****5 发帖数: 81 | 3 %s 是当作字符串打印。应该输出a,因为在memory中的pattern是0x61 0x00 0x00 0x00
… = 'a | m*****n 发帖数: 204 | 4 On a big endian machine, empty string.
On a little endian machine, "a".
【在 h********5 的大作中提到】 : 题目如下,问输出是什么 : int i[] = {'a', 'b', '\0'}; : printf("%s",(char *)i); : 打印出ab? : %s打印pointer我觉得好像根本不能打印啊,是个地址出来的是乱码吧。。。 : 搞不清楚
| m*****n 发帖数: 204 | 5 On a big endian machine, empty string.
On a little endian machine, "a".
【在 h********5 的大作中提到】 : 题目如下,问输出是什么 : int i[] = {'a', 'b', '\0'}; : printf("%s",(char *)i); : 打印出ab? : %s打印pointer我觉得好像根本不能打印啊,是个地址出来的是乱码吧。。。 : 搞不清楚
| c********6 发帖数: 28 | 6 楼上正解
这个题实际问的就是big/little endian |
|