我在c ++上进行编程,我对该代码有这样的错误:
#include <stdio.h>
int main(int argc, char* argv[])
{ int x;
printf("%d","Please enter a number\n");
scanf(%d,&x);
printf("%d","You entered 56\n");
}
这是错误: 错误1错误C2065:'d':未声明的标识符9 1ניסיון1
2 IntelliSense: expected an expression 9 8
谢谢,Peleg
答案 0 :(得分:1)
scanf
的第一个参数应该是以空字符结尾的字符串:
scanf("%d",&x);
就像你使用printf
一样。
答案 1 :(得分:1)
scanf(%d,&x);
------^^----
应为scanf("%d",&x);
答案 2 :(得分:0)
正如其他人已经说过的那样,scanf需要格式 string ,所以你必须写
scanf("%d", &x);
此外,您对printf的使用不会产生您想要的结果。传递给printf的第一个字符串是输出格式字符串。 "%d"
表示下一个参数是整数。您的下一个参数是字符串的地址。你真正想写的是这三行之一:
printf("%s", "Please enter a number\n");
printf("Please enter a number\n");
puts("Please enter a number");
最后一行最适合你的情况。第二行也很好,但只是因为字符串不包含%d
等格式字符。
答案 3 :(得分:0)
问题在于scanf(%d,&x);
声明的第一个参数。此参数应为空终止字符串。您的代码将在下面重写:
#include <stdio.h>
int main(int argc, char* argv[])
{
int x;
printf("Please enter a number %d\n");
scanf("%d",&x);
printf("You entered %d\n", x);
}