猿问

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

#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;}

looya
浏览 4330回答 2
2回答

onemoo

哦,是这样啊。连一开始的 cin.get 都没有执行...我看到你定义了两个超大的数组,尤其是 word。我猜是因为它们太大导致“爆栈”了。函数的栈帧大小有限,不要使用太大的 local 变量。你试试把这两个数组改小些,或者在堆中动态创建它们。

onemoo

这个是编程环境命令行的一个功能,在程序执行之后会等你按一个键才会退出。不然的话程序执行完命令行界面就会退出——眨眼间小黑窗口就消失了——你就看不到结果了。所以你不用管这个,只需要看看程序执行的结果是否正确。还有,记得把代码用发帖工具格式化一下。这样一坨没法看的。
随时随地看视频慕课网APP
我要回答