【发布时间】:2017-08-04 09:57:50
【问题描述】:
#include<stdio.h>
int main(){
char *names[2] = {"Lord", "Voldemort"};
printf("%s %s\n",names[0], names[1]);
return 0;
}
为什么上面的代码有效?我的意思是,它应该打印它包含在它们各自索引中的字符串的地址,我们应该使用 *names[0] 和 *names[1]。但是为什么它会起作用呢?
【问题讨论】:
-
%s需要一个指向字符的 指针。当然,您也可以打印地址,但是您必须使用%p。
标签: c arrays string pointers printf