返回类型默认为'int'[-Wimplicit-int]

时间:2018-08-25 05:50:21

标签: c

这应该是一个简单的程序,因为我是编程新手,但我无法解决此错误,将不胜感激。

这是我的代码:

#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]

1 个答案:

答案 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;
}

您错了/警告现在应该消失了,应该停止崩溃了。

相关问题