printf和scanf(格式化输入输出)返回值的探索
输出纯数字的时候
例1
int num = printf("%d", 5);
printf("%d", num);
运行结果:
51
5是执行第一个printf后输出的数
1是执行第二个printf输出第一个printf的返回值
例2
int num = printf("%d", 54);
printf("%d", num)
运行结果:
542
54是执行第一个printf后输出的数
2是执行第二个printf输出第一个printf的返回值
当吧第一个输出的书改成三位数是输出的最后一个数变成了3
这时我们就可能知道printf的返回值是数的位数
输出字符串的时候
例1
int num = printf("hello");
printf("%d", num);
运行结果:
5
这个时候发现是字符的个数
输出字符串和数字的时候:
int num = printf("reslut=%d",666);
printf("%d" num);
运行结果:
999
这个是后机会发现 printf的返回值是字符串中字符的个数,其中的%d是用数字代替后数字的位数。
其实printf的返回值 返回字符串的个数
sancf的返回值自行研究。
其实scanf的返回值是正确读取到变量的个数。