关于C语言练习中分号的一些问题
题目内容:输出100—200之间的素数个数
1 # include<stdio.h> - 2
- 3 int main()
- 4
- 5 {
- 6
- 7 int i;
- 8
- 9 int count = 0;
- 10
- 11 for (i = 100;i <= 200;i++)
- 12
- 13 {
- 14
- 15 int j;
- 16
- 17 for (j = 2;j < i;j++)
- 18
- 19 {
- 20
- 21 if (i%j == 0)
- 22
- 23 break;
- 24
- 25 }
- 26
- 27 if (i == j)
- 28
- 29 {
- 30
- 31 count++;
- 32
- 33 printf("%d ", i);
- 34
- 35 }
- 36
- 37 }
- 38
- 39 printf("count=%d\n", count);
- 40
- 41 return 0;
- 42
- 43 }
今天在做练习的时候所翻译的结果不理想,找了很久才发现自己的错误在哪,在写if语句的时候写成了这样“ if( i == j ); ”在if语句的结尾加了分号,这样使得if语句不管判断结果是什么都会直接终止,使得break没有了意义。
相当于: if (i%j == 0)
;
break;
而其输出结果为:

感想及总结:
C语言虽然看着并不难,上课认真听一下都可以听懂,但是当我们真的动手去自己敲代码的时候总会有一些小错误,有的时候这些小错误可能就是至关重要的,现在才算是真真理解为什么会有那么多大佬会敲坏几个键盘了,代码是在熟练理解的基础上进行反复的练习,而反复的练习可以提高自身编码的速度,其次当然是减少自身的失误。所以在空闲时间去练习编码是十分有意义的一件事。