C语言选择题41,为啥?求解
答案:2 悬赏:60 手机版
解决时间 2021-12-03 04:55
- 提问者网友:末路
- 2021-12-02 04:19
C语言选择题41,为啥?求解
最佳答案
- 五星知识达人网友:duile
- 2021-12-02 05:34
char *s="abcde"; 等同声明和初始化了 char s[6]="abcde";
按 %d 输出s, 就是按 %d 输出 &s[0] 的地址。
如果按 %s 输出, 则是 从 s[0]开始 印出 字符,直到字符串结束符 "\0"为止。
输出语句前 s+=2; 就是把 原来指向 字符串 "abcde" 的地址
挪动了 2格 (2 * sizeof(char) ), 指向"cde";
所以 按 %d 输出 的 值 等于 字符"c"的地址, 或字符串 "cde" 的地址。
如果按 %s 输出, 则是 从字符 c 开始,直到字符串结束符 "\0"为止。追问那为啥选D
按 %d 输出s, 就是按 %d 输出 &s[0] 的地址。
如果按 %s 输出, 则是 从 s[0]开始 印出 字符,直到字符串结束符 "\0"为止。
输出语句前 s+=2; 就是把 原来指向 字符串 "abcde" 的地址
挪动了 2格 (2 * sizeof(char) ), 指向"cde";
所以 按 %d 输出 的 值 等于 字符"c"的地址, 或字符串 "cde" 的地址。
如果按 %s 输出, 则是 从字符 c 开始,直到字符串结束符 "\0"为止。追问那为啥选D
全部回答
- 1楼网友:风格不统一
- 2021-12-02 05:48
%d 输出的好像是十进制数字
答案 AB排除了
而""abcd"是字符串
我是新手,不知道最后表达式是什么意思。不过我想不会是C
新手上路,如果错了,请老司机带带我
答案 AB排除了
而""abcd"是字符串
我是新手,不知道最后表达式是什么意思。不过我想不会是C
新手上路,如果错了,请老司机带带我
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯