指针的问题
#include<stdio.h>int main()
{
char*p={
"好好学习"
"天天向上"
"锻炼身体"
};
int i;
for(i=0;i<3;i++)
{
pritnf("%s\n",p);
}
return 0;
}
在这个代码中,for的循环体
小甲鱼说”p前面不能加*,加*表示取出字符,而我们要的是字符串要给出字符串的地址“
哪位大神能给详细解释下小甲鱼这句话的意思啊,不是很明白
首先说明下,你这代码一堆的问题是怎么回事。 ba21 发表于 2020-3-6 00:40
首先说明下,你这代码一堆的问题是怎么回事。
就是...代码的大概意思到了...我没认真敲代码 %s要的是地址,不是单个字符。另外你定义的指针数组,里面少了几个逗号。 %s格式化输出,对应的是字符串的地址printf("%s", p);
这句代码中,p是一个指针数组,p的值就是一个地址(字符串的地址)
你可能会有这个疑问
printf("%s", "abcdefg");这"abcdefg"不是表示字符串吗,和地址有毛关系,诶,还真有关系,你就把它理解为有了(双引号)" ",它就表示abcdefg这一串字符的地址就好了!
所以%s对应的是地址哦,从scanf()函数中也可以看出来哦~{:10_298:}
页:
[1]