已知:char c[8] = "beijing", *s = c; int i; 则下面的输出语句中,错误的是 _____。
选择一项:
A. printf("%s\n", s);
B. for (i = 0; i < 7; i++) printf("%c", s[i]);
C. printf("%s\n", *s);
D. for (i = 0; i < 7; i++) printf("%c", c[i]);
答案选C.
有几个点不理解。第一,刚学的指针,我的理解就是指针指向地址,然后地址是一串数字,可为什么这个题是 char *s。
第二,s是指向c 的指针,那不是应该指向c0的地址吗,为什么A选项输出是对的。
第三,我根据答案倒着推,意思是s就是一个和c一模一样的字符数组了?那s前面的*是干嘛的。。。
以上,我可能没认真听吗。。。。。。
喵喔喔
相关分类