首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于资料结束符为什么不是ctrl+z,而是shift+Z

2012-11-15 
关于文件结束符为什么不是ctrl+z,而是shift+ZC/C++ code#includeiostreamusing namespace stdint main(

关于文件结束符为什么不是ctrl+z,而是shift+Z

C/C++ code
#include<iostream>using namespace std;int main(){    cout <<"Enter the numbers:";    int num;    int i=0;    while(cin >>num)    {        if(num<0)        {            ++i;        }    };    cout <<i <<endl;    return 0;}

这段代码是想输入一串整数,然后看看负数的又多少,结束不了,但是按shift+z就可以了,为什么啊
我上网查不是ctrl+z的吗

[解决办法]
Ctrl C是中断程序,程序强行退出
shift Z变成大写的Z,cin>>num解析失败,cin状态改变,while()判断为0,循环结束
[解决办法]
while(cin >>num)
{
if(num<0)
{
++i;
}
};

楼主这个while循环并不是判断Eof(Ctrl+Z是文件结束符),而是判断cin的状态。
[解决办法]
键盘上Shift和Ctrl键的位置颠倒了?!
[解决办法]
//输入shift+ z 
C/C++ code
while(cin >>num) //'z' 或 'Z'不是合法的数字,所以退车循环,并没有结束输入流
[解决办法]
In UNIX systems it is Ctrl+D, in Windows Ctrl+Z
[解决办法]
探讨
Ctrl C是中断程序,程序强行退出
shift Z变成大写的Z,cin>>num解析失败,cin状态改变,while()判断为0,循环结束

热点排行