C语言之scanf和printf函数

   C语言中,我们经常使用scanf和printf在控制台实现输入、输出功能。但相信也经常忽略一个细节,那就是scanf和printf函数,两者都有一个int类型的返回值,如图:

C语言之scanf和printf函数



printf返回值是输出的字符数,

例如,printf("1234")的返回值是4,而printf("1234\n")的返回值是5。




注意下方:

scanf("%d,%d", &a, &b),控制台输入要和"%d,%d"格式一样:数字+逗号+数字,当输入逗号后,表示输入下一个数字。

C语言之scanf和printf函数

上述ret1有3种结果:0、1、2

1)ret1 = 0,表示两个输入中有0个不符合%d的格式。

2)ret1 = 1,表示两个输入中有1个不符合%d的格式。

3)ret1 = 2,表示两个输入中有2个不符合%d的格式。


因此,我们通常使用scanf返回值判断输入合法性:

C语言之scanf和printf函数