NODE : 第二版,近期的一点小总结,如有错误,请联系作者,谢谢😉😉😉
-
“=” 是赋值,“==” 才是真正数学意义上的等于,一定要区分开!
-
if(i==1); { printf("hello world"); }
if();
乱加分号??大忌!要留意!!
-
for(int i=1;i<10;i++){ // 1 for(int j=1;j<10;j++){ // 2 if(i+j==8){ printf("sum==8"); break; } } }
注意: 此处的break
只会结束第二层for
循环,而不会结束整个for
循环,如果想结束整个for
循环,可以加一个flag
标志,如下代码:
int flag = 0;
for(int i=1;i<10;i++){ // 1
for(int j=1;j<10;j++){ // 2
if(i+j==8){
printf("sum==8");
flag = 1;
break;
}
}
if(flag) break;
}
- 未初始化变量就开始使用变量参与运算,如求1-10的总和
错误代码演示:
#include<stdio.h>
int main()
{
int sum; // sum 未初始化为 0
for(int i=1;i<=10;i++){
sum += i; // sum 参与计算
}
printf("Sum==%d",sum);
return 0;
}
正确代码演示:
#include<stdio.h>
int main()
{
int sum = 0; // sum 初始化为 0
for(int i=1;i<=10;i++){
sum += i;
}
printf("Sum==%d",sum);
return 0;
}
-
- 变量已经变化后,还在以为变量是初值进行 “==”。
- 比如水仙花数,输出
number
,判断是否是水仙花数,有的同学在敲代码时,number
已经进行多次除以十10了变成0了,在代码最后,还用if(sum==number)
来进行判断,这是错误的。正确的方式之一:可以用一个变量来存这个number
值。