scanf()函数和printf()的用法

1、scanf()

scanf用于读取键盘输入的内容,输入的内容会先被放在缓存区,按下最后一个回车后,通过占位符对输入的数据格式化处理后,才会被读入变量实际存储的地址。对于整型数据,输入数据的时候,应按照双引号里面的占位符之间的格式字符(如逗号)对应输入格式字符,(占位符前面相邻的空格不算格式字符,他在系统格式化的时候会被删掉),需要注意的是,在占位符之前的所有字符(包括空格)均需要一个字符不差的在键盘输入,除非占位符前面相邻的地方有一个或多个空格,此时这些空格可以在输入的时候忽略。

若输入的内容为%c即字符型,则不会像整型那样过滤空格,因此输入的时候不需要用空格分隔输入的数据,空格也会被当作字符变量存入变量中。

另外若双引号内有\n则输入函数不能正常退出,需要再输入一组数据按回车后才能退出输入,但是后面输入的数据不会在变量中出现,。

附: 双精度小数的输入和输出方法

用scanf输入双精度小数时,占位符应使用%lf;用printf输出双精度小数时,占位符用%f即可。

2、printf() 

输出函数是从右向左压栈的,i++在printf中的运算规则:先对i进行复制,副本是另一个变量,所以输出时不会计算过程取多少最后就输出多少;++i在printf中的运算规则:在输出前直接对i进行运算,然后存入栈中。

在此例子中,第一个是i,输出前是0,输出后也是0,直接输出i=0;第二个是i++,输出前是0,输出后是1,此时输出的是另一个变量i的副本i0=0;第三个是++i,输出前是1,输出后是2,直接输出变量i=2;第四个是i++,输出前是2,输出后是3,输出的是副本i1=2;第五个是++i,输出前是3,输出后是4,直接输出i=4;最后,因为最后变量i为4,所以最后输出42404。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hymannnn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值