高人帮帮我,这道c程序错在哪

来源:百度知道 编辑:UC知道 时间:2024/06/01 06:23:48
#include<stdio.h>
void main()
{
char letter;
letter='A';
while(letter<='Z');
{
printf("%c:%d\t",letter,letter);
letter++;
}
}
编译都能通过,运行后就进入了死循环,cpu占用100%,还有就是进入死循环后怎样能退出

把你的第6行,也就是while(letter<='Z');这一行的最后的分号去掉就行了.
因为while(letter<='Z');表示的是循环体是空语句,这样的话条件一直为真,当然是死循环了,进入死循环后按Ctrl+Break就可以回到编辑环境了。
修改后的代码如下:
#include<stdio.h>
void main()
{
char letter;
letter='A';
while(letter<='Z')
{
printf("%c:%d\t",letter,letter);
letter++;
}
}

不知道,我用VC++6.0编译通过,并且输出结果。没什么问题……

哎,手敲进去的程序,完全没注意到While后面的封号(写程序也没养成While后面加封号的习惯)这下人丢大了,赶快跳出“二楼”这一层。

真是白吃,循环语句后面怎么能加“;”啊,那大括号里面还要不要了,真是初学者。我才看见2楼的,服死了,没学2天编程就别装了。

语法编译都没有错误,我用TURBOCE2.0试了
退出死循环可以用 ctrl+pause break 2个键组合退出
如果在输入的状态不能退出 打个\就行!

这段程序按正常来说应该不是死循环,我测试以后也是死循环,我也不知道怎么回事!
但是如果你想输出 A到Z 和ASK码可以这样改写
#include<stdio.h>
void main()
{
int i;
char letter;
letter='A';
for(i=1;i<=26;i++)
{
printf("%c:%d\t",letter,letter);
letter++;
}
}