| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:一道基础题,答案简单可是不懂
只看楼主 加入收藏
dyh839911010
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:63
专家分:71
注 册:2011-9-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
一道基础题,答案简单可是不懂
程序代码:
#include<stdio.h>
int main()
{ int a=43;
printf("%d\n",printf("%d",a));
}


[ 本帖最后由 dyh839911010 于 2013-10-3 13:27 编辑 ]
2013-10-03 13:26
dyh839911010
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:63
专家分:71
注 册:2011-9-14
收藏
得分:0 
答案是432,printf("%d",43);却是43而不是2,那2哪来的?

把简单做到纯粹,自然有生活的成就。
游戏开发吧诚邀各位的驻足!
2013-10-03 13:30
tianxiadiyih
Rank: 2
来 自:神秘星球
等 级:论坛游民
帖 子:30
专家分:48
注 册:2013-10-2
收藏
得分:20 
printf()函数的一般形式为:

  int printf()(const char *format,[argument]);

  printf()函数返回值是整型值,为printf控制输出的字符数。

  printf()函数实际上是将所有参数按字符输出,根据该函数的参数1const char *format

  例如:

  int a,b;

  a = printf("gelin\n"); //\n是换行符 ,返回值a的值为6,

  b = printf("the value of printf is:%d",a); // %d用于输出int类型变量,运行时用a替代%d,返回值b的值为24

永远的学生
2013-10-03 13:48
tianxiadiyih
Rank: 2
来 自:神秘星球
等 级:论坛游民
帖 子:30
专家分:48
注 册:2013-10-2
收藏
得分:0 
那个2应该是“43”的长度。

永远的学生
2013-10-03 13:48
dyh839911010
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:63
专家分:71
注 册:2011-9-14
收藏
得分:0 
回复 4楼 tianxiadiyih
懂了

把简单做到纯粹,自然有生活的成就。
游戏开发吧诚邀各位的驻足!
2013-10-03 13:52
tianxiadiyih
Rank: 2
来 自:神秘星球
等 级:论坛游民
帖 子:30
专家分:48
注 册:2013-10-2
收藏
得分:0 
对于a=printf(“asdf\n");程序将会输出asdf,并且将printf函数的返回值传递给a .printf("%d",a),就是先输出43,然后将其返回值传递回来,所以是432.

  

永远的学生
2013-10-03 13:56
lzj12530
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:264
专家分:841
注 册:2013-3-28
收藏
得分:0 
又学习到了

C++菜鸟
2013-10-04 12:32
猪鹿蝶1234
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2013-10-1
收藏
得分:0 
好像懂了一点
2013-10-04 20:27
快速回复:一道基础题,答案简单可是不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved