通过goto语句(实现使程序的执行方向直接发生转移)来实现,并且和goto配合成为其跳转点,使程序的下一个执行点定位于loop所在的语句,并且从该语句继续运行,从而实现循环。
但是说到底loop是程序跳转的语句标号
输入一批自然数,求它们的累加和,当输入数值为-1时,结束求和过程
源代码
int i,sum=0;
loop:scanf("%d",&i);
if(i!=-1){
sum+=i;
goto loop;
}
printf("%d",sum);
运行后发生数据瀑布
Why?!
同一段代码放到不同的编译器上面效果竟然不同
code::blocks
Dev-C++