c - 输出正确,但在 c 中显示运行时错误

标签 c

#include<stdio.h>
void main()
{ 
    int i = -1, j = 1,k,l;
    k=!i&&j;
    l= !i||j;
    printf("\n%d\n%d",i,j);
}

在输出中显示:Runtime error time: 0 memory: 10304 signal:-1

但是如果我用 int 替换 void 并在程序中添加 return 0 ,它可以正常工作,没有任何错误,为什么?

最佳答案

C11 标准中没有描述

void main()。有些实现可以自由地“合法化”它。显然,您使用的实现在这方面遵循了标准。

尝试int main(void),即 mandated by the Standard to be correct (C11, 5.1.2.2.1) .

关于c - 输出正确,但在 c 中显示运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44868457/

相关文章:

当文件包含拉丁字符时,CreateFile 失败 (ERROR_FILE_NOT_FOUND)

c - 将单个字符数组转换为一个多维数组

c - 返回函数内部释放的指针

c - 如何使 UDP 套接字在新消息到达时替换旧消息(尚未接收())?

c - 递归查找海量中 2 个最大数的索引 (C)

c - 我有两个变量 a=2 b=2 现在我想要 (a + b) *2 并将其存储在 c 变量中

c - 在 C 中添加两个 double 会产生奇怪的舍入结果

c - 函数声明与函数定义

c - 获取字符串的开头直到给定的字符

c - 当功能返回空时,程序崩溃