我正在编写一些代码,我对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)
}
格式指定类型'char *‘,但参数的类型为'char (*)10’-Wformat
发布于 2019-03-28 22:19:45
替换
scanf("%s",&name);
通过
scanf("%s", name);
也可以设置最大大小:
scanf("%9s", name);
但是,警告,如果输入字符串大于9个字符,甚至只有9个字符的名称(更多为空字符),则不会丢弃下一个字符,因此scanf("%d",&age);
将无法按预期工作。
我鼓励您始终检查you返回的值。
发布于 2019-03-28 22:20:23
在行scanf("%s", &name);
中,您应该删除&
。format %s
的参数是指向字符串开头的指针,即name
。您要做的是将指针传递给指针到字符串。
https://stackoverflow.com/questions/55407667
复制相似问题