一个简单的问题 ,,,在线=====
#include "stdio.h"main()
{
int a=6,b=2;
printf("a%=b is %d\n",a%=b);
}
怎么结果是%d呢啊 没有啊 我这一切正常 我 用 的是tc
你用的是吗 是dev-C++ 应该比TC更严格啊 晕 怎么能这样写呢~~~
printf后面的参数表不能写成a%=b这个一个赋值语句的啊~~~还有前面的是什么意思啊
a%=b ?是不是应该写成a%%=b? 对 说的对 前面的是求余
相当于a=a%b 能不能说的在具体一点谢谢了
最好帮改下 printf("a%=b is %d\n",a%=b);
//在c中想出现%应该用%%,a%=b是一个赋值的语句 赋值成功就是一吧,不成功就是零
//我想这个不是楼主的本意吧
改为这样你看看行不行 是不是你的意思
#include "stdio.h"
main()
{
int a=6,b=2;
printf("a%%b is %d\n",a%b);
} [quote][bo][un]coming[/un] 在 2008-7-18 22:08 的发言:[/bo]
晕 怎么能这样写呢~~~
printf后面的参数表不能写成a%=b这个一个赋值语句的啊~~~还有前面的是什么意思啊
a%=b ?是不是应该写成a%%=b? [/quote]
说得对 我这显示
a%=b is %d
用的是Win-TC
回复 9# coming 的帖子
? 错了吧 就用%而非%% 有is 还用=个人见解
我觉得printf("a%%b is %d\n",a%b);是对的,我用的是tc。如果只用一个%就会出现楼主所说的问题。顺便还想提一下printf中转义字符%的问题:如何在 printf 的格式串中输出一个 '%'?我试过 \%, 但是不行。
只需要重复百分号: %%。
原因是:\%不行, 因为反斜杠 \ 是 编译器的转义字符, 而这里我们的问题最终是 printf 的转义字符。
页:
[1]
