浅谈scanf和printf两个函数的返回值问题

跟同学探讨C问题,其中一个同学提及你们知道scanf和printf函数的返回值是什么吗?当时另外一个同学隐约回答了的样子,可是我是没有想过或是学习过这个东西,感觉蛮有意思,回过头来补习了一下。

作为C标准输入输出函数,scanf和printf两个函数分别需要完成标准输入和输出,往往并不需要知道他们的返回值是什么,及时知道返回值是多少貌似用处也不大,所以这个问题玩玩被人忽略,也很少有人关心。首先来谈谈scanf("格式控制",变量);的返回值。scanf函数返回值是他能够成功读入的变量的个数,举例说明:

int x;

x=scanf("%d,%d",&a,&b);

此时,如果你在终端输入两个int数那么它会返回2,因为成功输入两个符合要求的变量,but,如果你输入有一个不是int那么返回就不是2了。像输入2,a那么返回1,因为只有2成功输入。如果输入a,b那么返回为0,没有一个成功输入。

再来说明一个printf("%d,%d",a,b);的返回值。printf返回的是它打印了多少个字符。举例,

int a=1,b=200;

int x;

x=printf("%d,%d",a,b);

printf("%d",x);此时会输出:

1,2005所以返回值为5,打印了几个字符就会返回多少

如果

int a=100,b=200;

int x;

x=printf("%d,%d\n",a,b);

printf("%d",x);

输出结果为

100,200

8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值