指针数组内容求助
#include<stdio.h>#include<string.h>
int main()
{
void print(char *name[],int n);
char * name[ ] = {"Follow","BASIC","Great","Wall","Computer"}; //这一行内容在visual studio输入进去总是显示错误
int n = 5;
print(name ,n);
return 0;
}
void print(char*name[], int n)
{
int i = 0;
char*p;
p = name;
while (i < n)
{
p = *(name+i++);
printf("%s\n",p);
}
第六行内容在visual studio输入进去总是显示错误,字符串下面显示的红色波浪线;最后一行的p输出不是地址吗?为什么这儿能输出上面的字符串?这是树上的一段内容,谢谢! 第一个问题、你不能把常量赋值给指针,指针只能指向变量。
第二个问题、%s输出字符串,传进去的就是字符串首地址啊,指针就是指向字符串的首地址的,所以用指针p没任何问题。 鼠标移到红线上看错误提示吧。这个语句是很正常的c语句,报错可能是你编译器的we问题。
后一个问题楼上已经回答了,打印字符串时%s这个占位符需要的就是字符串首地址 sunrise085 发表于 2020-4-4 23:02
第一个问题、你不能把常量赋值给指针,指针只能指向变量。
第二个问题、%s输出字符串,传进去的就是字符串 ...
这段内容是我在书上看到的,编出来做一下,不应该有错误(第一个问题)谭浩强278页 倒戈卸甲 发表于 2020-4-4 23:24
鼠标移到红线上看错误提示吧。这个语句是很正常的c语句,报错可能是你编译器的we问题。
后一个问题楼上已 ...
这段内容是我在书上看到的,编出来做一下,不应该有错误(第一个问题)谭浩强278页 吴敌小白 发表于 2020-4-5 10:46
这段内容是我在书上看到的,编出来做一下,不应该有错误(第一个问题)谭浩强278页
不是都说了让你看错误提示了吗?因为一个正常的语句我们没办法直接去判断错误在哪里,它没有一个通用的说法,只能看看你编译器给的原因,然后解决掉
页:
[1]