这应该是一个简单的程序,因为我是编程新手,但我无法解决此错误,将不胜感激。
这是我的代码:
#include <stdio.h>
main()
{
int num;
printf("Please provide a number\n");
scanf(" %d", num);
printf("The given num is %s", (num % 2 == 0) ? ("even") : ("odd"));
return 0;
}
我正在使用 CodeBlocks 。程序运行正常,直到提示输入数字scanf
为止。但是,输入数字后,它给出错误“ untitled5.exe” 停止工作,当我查看内置消息时,它说:
返回类型默认为'int'[-Wimplicit-int]
答案 0 :(得分:1)
此警告/错误是因为此函数main()
未指定其返回值类型 。在int
之前添加main()
,因此第一行应为int main()
。
另外,崩溃是因为您没有将正确的参数传递给scanf()
。如果要让用户输入num
,则应将其地址传递给scanf()
,而不是num
的 value 本身。因此呼叫应为:scanf("%d", &num);
。
固定版本是这样:
#include <stdio.h>
int main()
{
int num;
printf("Please provide a number\n");
scanf("%d", &num);
printf("The given num is %s\n",(num%2==0)?("even"):("odd"));
return 0;
}
您错了/警告现在应该消失了,应该停止崩溃了。