c语言学习笔记之scanf函数

scanf函数是监听键盘输入内容并赋值给变量的函数,但是在初次使用该函数的时候
我定义了两个变量 如:
cha A;
cha B;
scanf("%c",&A);
scanf("%c",&B);
printf("输出A:%c,B:%c",A,B);

的时候却出现了A被赋值但是B没有被赋值成功的情况。

原来scanf函数是先监听到enter键后把输入的内容取出来放到一个缓存空间中,然后在根据定义的变量类型,从缓存空间中查找对应的值替换到相应的内存地址中,在此过程中连续的两个scanf函数会被相应执行,如我输入W然后再摁enter键,此时W会被先储存到缓存空间中,然后根据A的类型去取,当执行到scanf("%c",&B);的时候会先从缓存空间中去查找,此时,空间中已经没有值了,所以B就没有被赋值成功。

如果想要成功赋值的话,我们可以这样写:

char A;
char B;
scanf("%c,%c",&A,&B);
printf("输出的A:%c,B:%c",A,B);

在输入过程中请务必注意 ”,“此字符相当于结束字符,就是当A从缓存空间去查找对应的字符的时候,遇到","就会停止,然后取出当前查找到的对象储存到A对应的内存空间。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值