前辈看看这是怎么了?怎么就只编译运行后就输出一个数字1

#include <stdio.h>

int main()

{

int sum=0;

int i;

for(i=1;i<=10;i++)

{

printf("%d\n",i);

if(i==3);

{

goto Loop;

}

}

Loop:printf("结束for循环了....");

return 0;

}


qq_龙戈_0
浏览 1663回答 3
3回答

望远

for(i=1;i<=10;i++) { printf("%d\n",i); if(i==3);//if语句执行的是空语句,导致goto语句无需条件即可执行。 //当i==1时执行goto语句跳出循环,只输出1 { goto Loop; } } Loop:printf("结束for循环了....");//改动后 for(i=1;i<=10;i++) { printf("%d\n",i); if(i==3) { goto Loop; } } Loop:printf("结束for循环了...."); 输出 : 1 2 3 /*尽量不要在程序中使用goto语句,这极大的破坏了程序的结构性 goto语句会使程序的静态结构和动态结构不一致,从而使程序难以理解且难以查错。 并且G·加科皮尼和C·波姆从理论上证明了:任何程序都可以用顺序、分支和重复结构表示出来。 这个结论表明,从高级程序语言中去掉goto语句并不影响高级程序语言的编程能力, 而且编写的程序的结构更加清晰。 */

望远

if(i==3);这个if语句执行的是空语句。

大大叶5529

这是goto语句,当程序运行第一遍的时候执行到这里就会跳出函数体,然后接return结束了。
打开App,查看更多内容
随时随地看视频慕课网APP