📜  C |字串|问题9

📅  最后修改于: 2021-05-25 22:29:18             🧑  作者: Mango

考虑以下C程序段:

char p[20]; 
char *s = "string"; 
int length = strlen(s); 
int i; 
for (i = 0; i < length; i++) 
    p[i] = s[length — i]; 
printf("%s", p);

程序的输出是? (GATE CS 2004)
(A)肚兜
(B)
(C)字符串
(D)没有输出答案: (D)
说明:让我们考虑一下for循环内的下面一行
p [i] = s [length — i];
对于i = 0,p [i]将为s [6_0],而s [6]为’\ 0′
因此p [0]变为’\ 0’。不管p [1],p [2] …..是什么,因为当i> 0时P [0]不会改变。如果我们打印第一个字符’\ 0’的字符串,则不会打印任何内容这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。