char name[5][5]={ "" };
printf("%s",&name[0][0]);
我只是想知道为什么“&”用于printf。 为什么[] [0]第二个括号中有一个'0'?
同样char *name[5][5]={ "" };
printf("%s",&name[0][0]);
为什么在这里也&是用吗?
我根本无法理解。 在指针数组中不应该有*而不是&?
答案 0 :(得分:1)
%s
期望参数类型为char *
。 &name[0][0]
的类型为char *
。 &name[0][0]
是第一个字符串的第一个字符的地址。如果要从头开始打印第一个字符串,则必须使用&name[0][0]
使用&name[0][1]
将从第二个字符&name[0][2]
打印第三个字符的字符串,依此类推,只要字符串足够长。