NODE : 第二版,近期的一点小总结,如有错误,请联系作者,谢谢😉😉😉

  1. “=” 是赋值,“==” 才是真正数学意义上的等于,一定要区分开!

  2. if(i==1);
    {
        printf("hello world");
    }
    

if(); 乱加分号??大忌!要留意!!

  1. 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. 未初始化变量就开始使用变量参与运算,如求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值。

更多推荐

新手入门C语言常见的问题总结(二)