VC运行不出一个简单的循环语句?不知道为什么,请各位大侠给与指点

来源:百度知道 编辑:UC知道 时间:2024/07/01 01:08:26
#include<stdio.h>
void main()
{ char c;
while((c=getchar())!='\n')
{ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{ c=c+4;
if(c>'Z'&&c<'Z'+4||c>'z')c=c-26;
}
printf("%c",c);
}
printf("\n");
}

编译连接都没有问题,运行后输入China!后直接关闭输入窗口后 下发出现
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
The thread 0x7D8 has exited with code 1 (0x1).
The program 'E:\product\Debug\23.exe' has exited with code 1 (0x1).

什么意思? 各位我这出了什么问题?我怎么解决 请详细解决

在VC中运行控制台程序时,当程序运行结束后就直接关闭控制台窗口了,所以你什么也看不到。

在你代码的最后加上一个读按键的函数,当再次按任意键时再返回就可以了,如下修改:

#include<stdio.h>
void main()
{
char c;
while((c=getchar())!='\n')
{ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{ c=c+4;
if(c>'Z'&&c<'Z'+4||c>'z')c=c-26;
}
printf("%c",c);
}
printf("\n");

getchar();
}

你用的VS吧,,VS运行控制台程序完了会自动退出,如果不想退出可以在程序最后加一句getchar();
或者加头文件stdlib.h
然后程序最后加system("pause");
就可以

no matching symbolic information found.
你试试将while((c=getchar())!='\n')的\n改成其他

这是正常的提示

我的VC上运行没有问题的。。。

我的也没问题