C-Printf无法输出预期结果

问题描述 投票:0回答:2

我是一名大学生,我正在尝试通过以下代码验证不同的printf输出:

#include <stdio.h>
int main()
{
    int i=3,j=0;
    float x=5,y;
    printf("1: %d\n", i);  
    printf("2: %d\n", i/j);
    printf("3: %d\n", i*i);
    printf("4: i = \n");   
    i=i + j;               
    printf("6: %f\n", x/y);
    printf("7: x = %f\n"); 
    printf("8: %d\n", i/2);
    printf("9: %f", x/2) ; 
    return 0;
}

在执行阶段,在第一个输出printf("1: %d\n", i);之后,终端没有任何显示。任何想法? (无编译错误)

c printf output
2个回答
0
投票

i / j3 / 0,C中的整数除以0为未定义行为,这意味着可能发生任何事情。在您的情况下,“从字面上看,所有内容”的意思是“回到过去,使先前的printf不起作用,然后崩溃”(这实际上是由于缓冲的工作原理而发生的,但这只是实现细节)。


0
投票

i/ji = 3时您期望j = 0得到什么?

© www.soinside.com 2019 - 2024. All rights reserved.