| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 850 人关注过本帖
标题:[求助]輸出為什麼會是這樣的呢?求解!
只看楼主 加入收藏
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
 问题点数:0 回复次数:10 
[求助]輸出為什麼會是這樣的呢?求解!
int main(void)
{
int bph2o=212;
int rv;
rv=printf("%d F is water's boiling point.\n",bph2o);
printf("The printf() function printed %d characters.\n,
rv);
return 0;
}
輸出為:
212 F is water's boiling point.
The printf() function printed 32 characters.
看的不是很明白。請幫忙說明》這個32是怎麼來的?
搜索更多相关主题的帖子: 求解 
2007-01-02 21:08
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

printf()的返回值.

[此贴子已经被作者于2007-1-2 21:17:26编辑过]


倚天照海花无数,流水高山心自知。
2007-01-02 21:16
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 

那個32是算出來的嗎?


人生就是个死循环,退出这个循环的条件是系统停止。
2007-01-02 21:48
mayudong1
Rank: 2
等 级:论坛游民
威 望:1
帖 子:348
专家分:21
注 册:2006-4-18
收藏
得分:0 
printf输出几个字符它就返回几,你用rv接受那么输出rv的值就是返回的值了

2007-01-02 22:09
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 
打印出多少个字符.....

菜鸟~~请多指教~~
2007-01-02 23:25
form521
Rank: 1
来 自:西安
等 级:新手上路
帖 子:162
专家分:4
注 册:2006-12-21
收藏
得分:0 

明白了!

printf()裡包含了多少個字符就打印多少?(例如8個字符,就打印8);

rv=printf("%d F is water's boiling point.\n",bph2o);
請問各位起理解的對不?


人生就是个死循环,退出这个循环的条件是系统停止。
2007-01-03 11:46
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
printf() 原型:
int _Cdecl printf (const char *format, ...);

返回值是:第一个 const char *中的符个数,
而\t.\r.\b...算一个字符。
而%s\%d...要看传入的数据的字符的多少。

main()
{
const char *string="abcdefg\n";
const char *string1="hijklmn";
clrscr();
printf("%d",printf(string,string1));
/*%d 是显示printf(string,string1)的返回值*/
getch();
}

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-01-03 12:28
梦幻人生
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-1
收藏
得分:0 
32是输出的字符串的长度,你可以用sizeof()来检验

You are larger than life!
2007-01-03 18:25
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

sizeof() 应该不行吧

main()
{
clrscr();
printf("%d",sizeof("kdkdf"));
getch();
}
结果是:6

main()
{
clrscr();
printf("\n%d",printf("kdkdf"));
getch();
}
结果是:
kdkdf
5

还有当,字符串中有%s/%d....
例如:
main()
{
clrscr();
printf("%d",sizeof("skf%sskf"));
getch();
}
结果是:9

main()
{
clrscr();
printf("\n%d",printf("skf%sskf","zhaoxufeng"));
getch();
}
结果是:
skfzhaoxufengskf
16


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-01-03 21:27
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
sizeof()测试占用内存数,字符为1.
且这些字符串后面都有一个'\0'字符.所以都会加上1.

倚天照海花无数,流水高山心自知。
2007-01-03 21:35
快速回复:[求助]輸出為什麼會是這樣的呢?求解!
数据加载中...
 
   



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

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