持续更新——Debug库(总结)

本文探讨了C语言中的for循环条件判断,区分赋值和比较,数组sizeof和地址运算,以及C99标准对数组和常量的影响。还讲解了#define常量、枚举使用注意事项,以及函数返回值、嵌套、输入输出处理和常见编程技巧。
  1. for(a;b;c)中 如果b处是i=0 0是假,直接跳出循环, 还是要分清楚= 和== 的区别

b处 如果是赋值就死循环,如果是0就跳出循环

  1. 数组名==首元素地址(有两个例外)

​ (1).sizeof(数组名)——在这里数组名表示整个数组的大小,,sizeof计算的是整个数组的大小,单位是字节.

​ (2)&数组名,数组名表示整个数组,&数组名,取出的是整个数组的地址

&arr-数组的地址

  1. 在vs中使用scanf_s代码不具有兼容性 在其他编译器上不认识 它本身不是C语言的函数

  2. 在C99之前 数组的大小只能是常量 vs2019对C99的支持不是很好,不支持变长数组(使用变量来指定大小)

​ 当n被const修饰之后,不可以用来指定数组大小(本身还是变量) C99之前

  1. #define定义的标识符常量是不可以改变的 但是他可以去定义数组大小(本质是常量)

  2. 使用枚举的时候,要注意:

  • 后面不加()并且
  • 结尾的}后面要加’;’
  • 在函数体中间用,来分割
  • 类似于数组,enmu的返回值也是从0开始,逐个递增+1的
  1. 注意定义,输入的类型

  2. 注意表达式的运算顺序,适当加入括号

  3. 首先先逐字读题 理解错题是最浪费时间的

  4. int main()
    {
    	char arr[] = "hello world";
    	char* ret = (char*)memset(arr, 'x', 5);//这里需要强制类型转换成char* 再接收
    	printf("%s", ret);
    	
    	return 0;
    }
    
  5. ACM模式不需要输入输出

  6. 函数不好反悔的时候 ,可以不返回,直接在main函数中使用

  7. int arr[40]={0}; 将所有的元素都初始化为0

  8. EOF是全文件结束的标志

    ch== getchar()!=0;

    ~(ch==getchar())

    分别两种写法

  9. 注意函数递归的时候:

    如果需要地址平移的话 不可以p++

    ++p也不好,传参之后本身的值会改变

    只有p+1不会影响变化

    并且要注意 指针变量+1的时候,不同类型的变量 向后走的字节单位不同,

    例如 char 跳一个字节 int 跳4个字节

  10. 比较求最大值的时候 ,可以先给max=a;然后依次比较max与b,c,d等之间的大小

并且如果有循环读取的时候需要判断是否=EOF max的值每次进循环都需要重新赋值

  1. 整数在内存中储存的是补码!

  2. '\n’是一个字符 要用getchar()来吞掉

    两种形式:

    1.while(ch=getchar()!=EOF)

    ​ getchar();

    2.while(scanf(" %c",ch)!=EOF) 这种方法更好

  3. scanf(" %c",&i)

​ 这里 %c前面加上空格键 可以消除前面所有的空白字符(输入的时候就会消化掉这个\n) 从而不需要使用getchar()去吞\n

不会为下次留下空白字符的隐患

  1. 不可以return a,b;

    一个函数只能返回一个结果

    这里涉及了逗号表达式(前面的依次执行,以最后一个为条件进行判断)

  2. 函数可以嵌套调用,即:A()中调用B(),B()中调用A(),但是要控制好,否则就成为无限递归

    但是函数不可以嵌套定义

  3. 函数不是必须有返回值,但是必须有返回类型

    函数不是必须含有参数,

  4. 在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型

  5. 不允许用库函数的时候,可以自己自定义一个一样的函数即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值