标题:[求助]关于字符型变量的自增问题
只看楼主
飞翔遨游
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-24
 问题点数:0 回复次数:4 
[求助]关于字符型变量的自增问题


#include<stdio.h>

int main(void)
{
char n = 'a';
while(n++ <= 'g')
printf("%c",n);
printf("\n");

return 0;

}

为什么不能输出a呢?

搜索更多相关主题的帖子: 变量 字符 
2006-06-26 01:22
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
因为它等价于:
#include<stdio.h>
int main(void)
{
char n='a',temp;
while(temp=n,n=n+1,temp<='g')/*原为while(n++ <= 'g')*/
printf("%c",n);
printf("\n");
return 0;
}

而且楼主不仅应该问:
'a'为何得不到显示,
还应问:
为何'h'得到显示?

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-26 05:19
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
得分:0 
当然看不到a

先执行了一句n++
再printf();

2006-06-26 08:21
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
得分:0 

改为如下:
#include <stdio.h>
int main(void)
{
char n='a';
while(n<='g')
printf("%c",n++);
printf("\n");
return 0;
}


2006-06-26 16:36
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 

n先+了。当然不会有a了。
楼上正解。。。。


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-06-26 16:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-74800-1-1.html




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

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