FAstril 2021-07-23 03:22 采纳率: 100%
浏览 152
已结题

为什么在dev上可以编译运行,但在运行结果界面按回车就一直在换行,不输出结果,是怎么回事?


#include<iostream>
#include<cstdio>
//#include<algorithm>
using namespace std; 
const int N=10;
//head表示头结点的下标
//e[i]表示节点i的值
//ne[i]表示节点i的next指针
//idx表示用到了哪个地址,就是下标
int head= -1,e[N],ne[N],idx;
void add_to_head(int x)
{
    e[idx]=x;
    ne[idx]=head;
    head=idx++; 
} 
int main()
{
    int val;
    while(~scanf("%d",&val)) //~scanf表示没有输入值的时候,结束while循环
    {
        add_to_head(val);
    } 
    for(int i=head;i!=-1;i=ne[i])
        cout<<e[i]<<" ";
    cout<<endl;
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2021-07-23 03:33
    关注

    while(scanf("%d",&val)) //scanf表示没有输入值的时候,结束while循环
    这是你想象的效果吧?什么叫没有输入值的时候呢?
    while(scanf("%d",&val) != EOF) --- 这样按CTRL+Z键后回车可结束循环,在linux下按CTRL+D

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 7月30日
  • 已采纳回答 7月23日
  • 创建了问题 7月23日