2015-01-31 117 views
-8

当我尝试使用c编程获得输入时,例如“输入项目编号:”,并且当我运行该程序时,一个巨大的5或6位数字已经写入,并且我只能在该编号之后编写我的编号。问题是什么?如何解决错误?

#include<stdio.h> 
int main() 
{ 
    int items; 

    printf("Enter the number of items: %d"); 
    scanf("%d", &items); 

    return 0; 
} 

这是什么问题?为什么这个号码已经写好了?

+4

请添加完整源文件 – 2015-01-31 22:06:31

+1

请在这里提出一个恰当的问题。 – 2015-01-31 22:07:12

+3

欢迎来到Stack Overflow。请阅读[关于]页面。对于这样的情况,代码至关重要。我们不能指望你做了什么 - 我们需要你告诉我们你做了什么。这可能是因为你没有传递一个指向'scanf()'的指针,但你的编译器应该告诉你。 – 2015-01-31 22:07:32

回答

1

你的问题是在该行

printf("Enter the number of items: %d"); 

你告诉printf没有提供一个打印一个整数(%d)。

只要删除%d,你会没事的。

+0

它的作品!谢谢哟! – Akshit 2015-01-31 22:38:03

1

您的printf语句中有一个未解决的%d

这使您得到一个随机数,因为您从未定义的数据中读取。删除%d,它将按预期工作。

另一件可能是您犯的错误是假设将%d放在那里将打印下面的scanf参数的值。

事实并非如此,您必须在之前定义您试图使用该数据。