gpt4 book ai didi

c - 当未声明的变量传递到 for 循环并更改 for 循环语法时会发生什么

转载 作者:行者123 更新时间:2023-11-30 21:45:51 24 4
gpt4 key购买 nike

//示例

#include<stdio.h>
int main(){
int i,j;
for(i<4; j=3; j=0){
printf("%d",i);
}
}

//为什么输出是 i=1 的无限 for 循环

最佳答案

Since for 表单循环

for (initialization; condition; increment) {/*body*/}

可以转换为while循环,如下所示:

{
initialization;
while (condition)
{
/*body*/
increment;
}
}

您的程序可以有效地转换为:

int i,j;
{
i<4;
while (j=3)
{
printf("%d",i);
j=0;
}
}

由于赋值运算符返回被赋值的值(在本例中为:3),并且任何非零整数值都会被计算为true,因此您会得到一个无限循环。

至于你得到什么输出..这是未定义的行为,因为你使用了未初始化的变量i

关于c - 当未声明的变量传递到 for 循环并更改 for 循环语法时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50148514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com