| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1170 人关注过本帖
标题:我是菜鸟,刚开始接触C,有个很菜的问题想请教一下
只看楼主 加入收藏
极品天堂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-2
收藏
 问题点数:0 回复次数:14 
我是菜鸟,刚开始接触C,有个很菜的问题想请教一下
main()
{char c1='a',c2='b',c3='c',c4='\101',c5='\106';
printf("a%c b%c\t c%c\t abc\n",c1,c2,c3);
printf("\t\b%c %c",c4,c5);
}
在第三步中,为什么运行的结果是aa空格bb三个空格c六个空格abc,也就是aa bb cc abc
那位大侠能否给小弟详细讲解一下,我只能得出a b c abc
搜索更多相关主题的帖子: abc 
2006-05-02 08:34
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
大哥,这样的问题你看看书就会明白的 啊

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-02 08:36
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
不看书就问的应该枪毙

a %c
↑↑
a a

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-05-02 08:39
极品天堂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-2
收藏
得分:0 
我看了,我自学的,没有人教我,看了很长时间这个地方也没弄明白
2006-05-02 09:17
极品天堂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-2
收藏
得分:0 

a %c
↑↑
a a 这回明白了,谢谢了
我比较笨

2006-05-02 09:20
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用极品天堂在2006-5-2 8:34:00的发言:
main()
{char c1='a',c2='b',c3='c',c4='\101',c5='\106';
printf("a%c b%c\t c%c\t abc\n",c1,c2,c3);
printf("\t\b%c %c",c4,c5);
}
在第三步中,为什么运行的结果是aa空格bb三个空格c六个空格abc,也就是aa bb cc abc
那位大侠能否给小弟详细讲解一下,我只能得出a b c abc

//客气点嘛,何必才开腔就开枪?LZ言者无罪
char c1='a',c2='b',c3='c',c4='\101',c5='\106';
printf("a%c b%c\t c%c\t abc\n",c1,c2,c3);
分开说"a%c"与c1配合,连出2个a,因为c1='a'
同理,"b%c"与c2配合,连出2个b,因为c2='b'
同理,"c%c"与c3配合,连出2个c,因为c3='c'
至于符号"\t"嘛,不过是为制造若干个空格用的
printf("\t\b%c %c",c4,c5);
c4='\101'属于'\ddd'模式,表示8进制下的101
所对应的ASCII字符,说白了就是'A'
c4='\106'属于'\ddd'模式,表示8进制下的106
所对应的ASCII字符,说白了就是'F'


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-02 09:27
极品天堂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-2
收藏
得分:0 
太感谢了,我明白了,不过又一问题来了,
X+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
正确的结果是2.5,可我就是不得,我是这样算的,
1、(int)(x+y)=2.5+7.2=7.2
2、(int)(x+y)%2=(2.5+7.2)%2=1
3、(int)(x+y)%2/4=0.25
4、a%3*(int)(x+y)%2/4=7%3*1/4=0.25
5、X+a%3*(int)(x+y)%2/4 =2.5+0.25=2.75
哪一步不对呀!是顺序错了,还是算错了,
不好意思,我只是中专水平,自学这个真的有点力不从心,有许多高数都看不懂
谢谢,各位帮帮我!

[此贴子已经被作者于2006-5-2 9:41:17编辑过]

2006-05-02 09:40
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用极品天堂在2006-5-2 9:40:00的发言:
太感谢了,我明白了,不过又一问题来了,
X+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
正确的结果是2.5,可我就是不得,我是这样算的,
1、(int)(x+y)=2.5+7.2=7.2
2、(int)(x+y)%2=(2.5+7.2)%2=1
3、(int)(x+y)%2/4=0.25
4、a%3*(int)(x+y)%2/4=7%3*1/4=0.25
5、X+a%3*(int)(x+y)%2/4 =2.5+0.25=2.75
哪一步不对呀!是顺序错了,还是算错了,
不好意思,我只是中专水平,自学这个真的有点力不从心,有许多高数都看不懂
谢谢,各位帮帮我!

x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
1. x+y=2.5+4.7=7.2
2. (int)(x+y)=7 //屁股".2"切掉了
3. (int)(x+y)%2=1
4. (int)(x+y)%2/4=0//整÷整=整!!!
5. ........................


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-02 10:00
极品天堂
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-5-2
收藏
得分:0 

唉,书上没写这种情况呀
(float)(a+b)/2+(int)x%(int)y
a=2,b=3,x=3.5,y=2.5
(float)(a+b)/2=0.000000
(int)x%(int)y=3%2=1
哪里又有问题了?正确结果是3.5
main()
{int a,b;
float x,y;
a=2;
b=3;
x=3.5;
y=2.5;
x=(float)(a+b)/2+(int)x%(int)y;
printf("%f\n",x);
}
这样写对吗?
这样写的结果是3.500000

[此贴子已经被作者于2006-5-2 10:17:17编辑过]

2006-05-02 10:14
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(极品天堂)唉,书上没写这种情况呀(float)(...
“唉,书上没写这种情况呀”

唉,LZ没仔细看书呀!!!

看谭书(第2版)第55页倒数第11行。

再这样低水平地纠缠,我会将你列如

黑名单!!!

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-02 10:21
快速回复:我是菜鸟,刚开始接触C,有个很菜的问题想请教一下
数据加载中...
 
   



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

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