我正在编写一些代码,而我对c还是很陌生。我需要帮助!
我尝试过改变一些事情,但是因为我是新来的,它并没有真正帮助
int main()
{
char name[10];
int age;
printf("what is your name");
scanf("%s", &name);
printf("what is your age");
scanf("%d",&age);
printf("%s",name);
printf("%d",age)
}
format specifies type 'char *' but the argument has type 'char (*)[10]' [-Wformat]
答案 0 :(得分:4)
替换
scanf("%s", &name);
作者
scanf("%s", name);
或还设置最大尺寸:
scanf("%9s", name);
但是如果输入字符串大于9个字符(即使在 name 中仅设置了9个字符,则发出警告)(更多为空字符),接下来的字符不会被丢弃,因此scanf("%d",&age);
不能像预期的
我建议您始终检查 scanf
返回的值答案 1 :(得分:-1)
您应在scanf("%s", &name);
行中删除&
。格式%s
的参数是一个指向字符串开头name
的指针。您正在做的是将指针传递给字符串。