为了账号安全,请及时绑定邮箱和手机立即绑定

求解为什么一运行就出现press any key to continue

求解为什么一运行就出现press any key to continue

C++
looya 2018-03-18 14:11:07
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){ char a[10000],*p,word[10000][10000];   //用二维数组来存多个字符串 int i,j; while(cin.get(a,10000)) { if(strcmp(a,"#")==0) break; else { int n=0; p=strtok(a," "); for(i=0;p!=NULL;i++) { strcpy(word[i],p); p=strtok(NULL," "); } for(int k=0;k<i;k++) for(j=k+1;j<i;j++) if(strcmp(word[k],word[j])==0) { n++; break; } cout<<i-n<<endl; } } return 0;}
查看完整描述

2 回答

?
onemoo

TA贡献883条经验 获得超454个赞

哦,是这样啊。连一开始的 cin.get 都没有执行...

我看到你定义了两个超大的数组,尤其是 word。我猜是因为它们太大导致“爆栈”了。函数的栈帧大小有限,不要使用太大的 local 变量。

你试试把这两个数组改小些,或者在堆中动态创建它们。

查看完整回答
反对 回复 2018-03-21
?
onemoo

TA贡献883条经验 获得超454个赞

这个是编程环境命令行的一个功能,在程序执行之后会等你按一个键才会退出。不然的话程序执行完命令行界面就会退出——眨眼间小黑窗口就消失了——你就看不到结果了。

所以你不用管这个,只需要看看程序执行的结果是否正确。


还有,记得把代码用发帖工具格式化一下。这样一坨没法看的。

查看完整回答
反对 回复 2018-03-20
  • looya
    looya
    我想问的是,运行的话我应该是要先输入一个字符串,可是我还没输入就出现了press any key to continue
  • looya
    looya
    #include<iostream> #include<cstring> #include<cstdio> using namespace std; int main() { char a[10000],*p,word[10000][10000]; //用二维数组来存多个字符串 int i,j; while(cin.get(a,10000)) { if(strcmp(a,"#")==0) break; else { int n=0; p=strtok(a," "); for(i=0;p!=NULL;i++) { strcpy(word[i],p); p=strtok(NULL," "); } for(int k=0;k<i;k++) for(j=k+1;j<i;j++) if(strcmp(word[k],word[j])==0) { n++; break; } cout<<i-n<<endl; } } return 0;}
  • onemoo
    onemoo
    在他人回复中是无法格式化代码的。
  • 2 回答
  • 0 关注
  • 4328 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信