| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 585 人关注过本帖
标题:%%有问,求解释
只看楼主 加入收藏
littlefinger
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2011-9-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
%%有问,求解释
代码:
#include <stdio.h>
viod main()
{
   int a=99;
   int b=5;
   int c=11;
   int d=3;
   printf("a%%d+b/c=%d\n",a%d+b/c);
}

printf行中,a%%d,第一个%是转义符,第二个%是求余,为什么上述代码中,少了其中一个%,输出结果会不同?请问,在什么时候要加转义符%?
搜索更多相关主题的帖子: include 
2011-11-10 10:37
DefineFeel
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:57
专家分:136
注 册:2011-10-18
收藏
得分:5 
如果你要是想输出%,就要加转义字符。如果你不加,计算机就会做别的处理。例如:你想输出a%d,你就要加%,不加%,计算机就会理解位a和%d
2011-11-10 10:42
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:9 
printf("a%%d+b/c=%d\n",a%d+b/c);
这个是格式输出的问题,要输出一个%符号,就要用两个%%表示,而你这题,后面刚好跟的是个d,所以只有一个%的时候,%就和后面的d组成了%d,就把a%d+b/c的值也在这边输出了
格式输出的时候,要输出什么类型的数,就要用到%了,有%d,%c,%s,%f,%l等,要输出一个%,就要用%%才能输出,和\n,\t,\b类似的,要表示一个反斜杠,要用\\表示一样。
2011-11-10 10:51
huhao3225
Rank: 2
来 自:四川成都
等 级:论坛游民
帖 子:39
专家分:25
注 册:2011-11-9
收藏
得分:6 
a%d+b/c应该赋给第二个%d,如果去掉第一个%,则其会赋给第一个%d.
加转义字符是对你需要输出变量的控制。
2011-11-10 10:55
快速回复:%%有问,求解释
数据加载中...
 
   



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

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