易码技术论坛

 找回密码
 加入易码
搜索
查看: 89502|回复: 4

[求助]printf的问题

[复制链接]
发表于 2006-5-19 19:52:00 | 显示全部楼层
%,c语言的printf有这种用法吗?

如果想显示%,可以写成%%,
 楼主| 发表于 2006-5-19 20:04:00 | 显示全部楼层
这是一个老师出的题目,答案是“a=2%, b=5%”,我发现是错的
只是不明白,为什么最后打印的是:a=2%,b=%d%

#include<stdio.h>
main()
{
int a=2, b=5;
printf("a=%d%,b=%d%\n",a, b);
}
发表于 2006-5-19 20:15:00 | 显示全部楼层
这样写:

#include<stdio.h>
main()
{
int a=2, b=5;
printf("a=%d%%,b=%d%%\n",a, b);
}
 楼主| 发表于 2006-5-19 20:36:00 | 显示全部楼层
我也是改成这样,只是不明白在"printf("a=%d%,b=%d%\n",a, b);"这里,控制字符"%"用错了,
但是在编译时没报错,而后面的"b=%d"这人正确的控制字符又没起作用。
是不是c语言的一个bug?
 楼主| 发表于 2006-5-19 19:15:00 | 显示全部楼层 |阅读模式
main()
{
int a=2,b=5;
printf(",%d%d",a,b);
}

运行的结果是:,25

把printf处改为
printf("%,%d%d",a,b);

运行结果却是:%,%d%d
为什么不是:%,25

希望各位帮小弟解答一下,谢谢
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-8-24 12:41 , Processed in 0.008986 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表