使用循环添加整数

Dan*_*nMc 0 c

我正在为我的大学课程写一个C语言的应用程序.在我的应用程序的一部分中,我迭代地增加一个整数.使用printf语句我可以告诉int1应该增加到20,但运行失败.我想知道为什么会这样吗?

int main() {
    int i,int1=0, int2=0;
    for (i = 0; i<10; i++) {
        int1 = (int2 + 2);
        int2 = int1;
    }
}
Run Code Online (Sandbox Code Playgroud)

该程序必须与ANSI C内联,我相信它使用:

int1 = (int2 + 2);
Run Code Online (Sandbox Code Playgroud)

是未定义的行为,因为编译器无法保证首先处理哪个"相同"变量.(如果我错了,请纠正我!)这就是为什么我采取了更长的路,但应用程序使用任何一种方式都失败了.

这次失败的原因是什么?

pha*_*t0m 5

您的程序不会失败,您只是忘记return 0;在程序结束时,表明您的程序正确运行.

至于"未定义的行为":不,这是完全有效的C代码.