C语言
神偷怪盗基德
乐观对待每一个bug
展开
-
关于新手习惯性定义数组不给出数组大小易造成的错误
在初学的时候学到定义数组时可以不用给出元素的个数,但这样的习惯也往往会带来一些问题。以下就是一个简单的例子:int main(){ int arr[] = {0}; int i = 0; for(i=0;i<10;i++) { arr[i] = i; } return 0;}上面这段代码的错误就在于初始化时没有给出所需存放的元素个数,而因为数组初始化如果不给出元素个数的话,就会把初次定义的数组里元素的个数当成这个数组所能存放的元素个数。所以上面代码中的arr数组只能存原创 2021-09-27 11:52:46 · 706 阅读 · 6 评论 -
大家这个点都还没睡吧| getchar的返回值为啥用int类型变量接收
先看一段代码#include<stdio.h>int main(){ int ch = getchar(); return 0;}起初看到,感觉是非常奇怪,但查了一下发现其返回值就是int类型,整型的话一般字符的ascll码用char类型其实也是能存下的,但是那只是在读取成功的情况下在下面图中可以看到,如果读取失败的话返回值则为EOF,而EOF为-1,用char类型就会存不下-1的补码,故用int类型的变量来接收getchar的内容对编程感兴趣的我却没有ge.原创 2021-09-26 23:54:19 · 1061 阅读 · 1 评论 -
第一次了解输入缓冲区
错误代码#include<stdio.h>int main(){ char password[20] = {0}; char ch = 0; printf("请输入密码:"); scanf("%s",password); printf("确认:Y/放弃:N,请选择:(Y/N)"); ch = getchar(); if(ch == 'Y') { printf("确认成功\n"); } else { printf("放弃确认\n"); } return原创 2021-09-20 11:16:42 · 125 阅读 · 0 评论