c - 使用循环添加整数

标签 c

我正在用 C 为我的大学类(class)编写应用程序。在我的应用程序的一部分中,我迭代地增加了一个整数。使用 printf 语句我可以看出 int1 增加到 20,但随后运行失败。我想知道为什么会这样?

int main() {
    int i,int1=0, int2=0;
    for (i = 0; i<10; i++) {
        int1 = (int2 + 2);
        int2 = int1;
    }
}

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

int1 = (int2 + 2);

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

失败的原因是什么?

最佳答案

您的程序并没有失败,您只是忘记了在程序结束时 return 0;,以表明您的程序运行正确。

至于“未定义的行为”:不,那是完全有效的 C 代码。

关于c - 使用循环添加整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843145/

相关文章:

c - 如果条件和逻辑比较不起作用

c - 程序集:从 C 调用或作为独立程序创建时的数据段

c - Valgrind 内存泄漏可达

将 uint8 和 uint32 变量转换为一个 uint64

c - 宏替换赋值

c - 无法使 libtool 合并 yasm 创建的目标文件

c - Pulseaudio C API : create a null sink

计算数组中字母出现的次数

c - 如何对 C 中数组中的值运行循环?

c - C中main方法中参数的使用