c语言 int m=1; m=2* //没有分号! printf (%d,m); 结果是1,求解释

[复制链接]
查看11 | 回复1 | 2011-3-14 10:43:07 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-3-14 10:43:07 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">printf()函数的返回值是打印的字符数。你这个程序输出的1是这句输出的:
printf (\"%d\",m);
但是输出之后m就变成2了,因为:
m=2*printf (\"%d\",m); //这里printf (\"%d\",m); 输出的字符数是1所以返回1。m=2*1=2
如果你再在程序后面加一个printf (\"%d\",m);那应该就会输出2了

比如int n=printf(\"12345679\");
printf(\"%d\",n);
将输出:123456798 //前面的八个是是printf(\"12345679\");输出的,后面的是8是printf(\"%d\",n);输出的











参考资料:<span class=\"gray\">百度一哈</span>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行