c语言编程问题...

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:04:40
请高手看看下面一段程序的问题,执行是能执行就是执行后出现满屏的东西,高手指点一下...
#include<stdio.h>
void main()
{
char c;
c=getchar();
while(c<'A'||c>'z')
{
printf("您输入的是数字或非法字符请重新输入!");
c=getchar();
}
while(c!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
{
c+=4;
if(c>'Z'&&c<='Z'+4||c>'z')
c-=26;
}
printf("%c",c);
}
printf("\n");
}

你这个程序是做啥的???
while(c!='\n')在这里相当于while(true)
你的这个while里面又没有结束循环的语句,应该是个死循环...

#include<stdio.h>
void main()
{
char c;
c=getchar();
while(c<'A'||c>'z')
{
printf("您输入的是数字或非法字符请重新输入!");
c=getchar();
}
while(c!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
{
c+=4;
if(c>'Z'&&c<='Z'+4||c>'z')
c-=26;
}
printf("%c",c);

c=getchar();//少了一个这个。要不断的存储才可以。不就c一直等于你输入的那个字母。比如c='a'。那么会出现死循环
}
printf("\n");
system("pause"); }

应该改为if(c!='\n')

while(c<'A'||c>'z')
{
printf("您输入的是数字或非法字符请重新输入!");
c=getchar();

while(c!='\n')
{
if(c>='a'