我写了一个简单的C程序来打印所有3的倍数但是在运行期间我的代码有一些错误:
#include <stdio.h>
void main(void) {
int i, x;
for(i = 1; i < 1000; i++) {
x = i % 3;
if(x == 0) {
printf("%d\n", i);
}
}
}
问题是,如果我在循环中输入大于891到1000的数字,则输出从6开始而不是3,如果我按上述方式编写代码,则输出从114开始。对于小于或小于的值等于891,显示正确的输出。
答案 0 :(得分:1)
确保您可以查看所有输出:
reuts@reuts-K53SD:~/ccccc$ cat mmph.c && gcc mmph.c
#include<stdio.h>
main(){
int i,x;
for(i=1;i<1000;i++)
{
x=i%3;
if(x==0){
printf("%d\n",i);
}
}
}
reuts@reuts-K53SD:~/ccccc$ ./a.out | egrep "^3$|999"
3
999
正如您所看到的,这很有效。您的输出可能已截断。