关于linux下C语言遇到的问题 希望朋友们帮忙解答一下。。。。。。。。
发布网友
发布时间:2022-04-20 23:12
我来回答
共2个回答
热心网友
时间:2023-10-03 06:08
一般字符串后需要加入一个\0,你这样的定义有问题char
bf1[2]="ab";
要多加一个字节用于写入'\0',这样定义才对char
bf1[n]="ab";这里n的数值要大于2
热心网友
时间:2023-10-03 06:08
注意输入输出缓冲区,键盘的输入都保存在输入缓冲区中,
每次scanf会到输入缓冲区中去取对应的数据,
如果是字符型的则会依次取,不会有不匹配的情况,除非缓冲区没有数据
如果是要取整型的,而输入缓冲区中第一个数据不是整形的,scanf会直接返回,不取任何数据,
由于每次输入完后紧接会按回车,在缓冲区中也会保存回车的字符型数据即ascll码,所以要注意清理缓冲区