关于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
", count);
40
41 return 0;
42
43 }
今天在做练习的时候所翻译的结果不理想,找了很久才发现自己的错误在哪,在写if语句的时候写成了这样“ if( i == j ); ”在if语句的结尾加了分号,这样使得if语句不管判断结果是什么都会直接终止,使得break没有了意义。
相当于: if (i%j == 0)
;
break;
而其输出结果为:
感想及总结:
C语言虽然看着并不难,上课认真听一下都可以听懂,但是当我们真的动手去自己敲代码的时候总会有一些小错误,有的时候这些小错误可能就是至关重要的,现在才算是真真理解为什么会有那么多大佬会敲坏几个键盘了,代码是在熟练理解的基础上进行反复的练习,而反复的练习可以提高自身编码的速度,其次当然是减少自身的失误。所以在空闲时间去练习编码是十分有意义的一件事。