问题:将小数从输入改写到输出。读入数字 42 后停止处理输入。输入处的所有数字都是一位或两位数的整数。
例子
输入:1 2 88 42 99
输出:1 2 88
我的解决方案:
#include<stdio.h>
int main()
{
int i;
scanf("%d",&i);
while(i!=42)
{
printf("%d",i);
scanf("%d",&i);
}
return 0;
}
正确解决方案:
#include <stdio.h>
int main( void ) {
int i;
while( 1 ) {
scanf( "%d", &i );
if( i == 42 ) break;
printf( "%d\n", i );
}
return 0;
}
如果输入为 42,两个程序都结束,那么两者有什么区别?
编辑:我刚刚意识到这应该已经发布在 codereview.stackexchange.com 管理员请做必要的事情。