(c++)按了ctrl+z但是没反应,怎么解决?

#include<iostream>usingnamespacestd;#defineN10intmain(){char*p[N];//p是字符指针数组,每个元素时一个字... #include<iostream>
using namespace std;
#define N 10
int main()
{
char *p[N];//p是字符指针数组,每个元素时一个字符指针,要想让每个元素指向一行,那么需要 p[i]=new char[4]
int i=0,l,k,min,temp,j;
/* p[i]=new char[4];
while(cin>>p[i])//输入一行元素,放入p[i]所指向的字符数组里面,结束已ctrl+z结束
{
i++;
p[i]=new char[4];
// for(;;)
// cin>>p[i]>>endl;//是不是这种写法有错误?////endl是回车换行,一般在cout的后面,cin后面不能有!

}//出此循环时,i为数组中元素的个数,即你输入的行数
*/
while(!cin.eof())
{
p[i]=new char[4];
cin>>p[i];
i++;
}
i--;
for(j=0;j<i;j++)//对每一行的三个字符,进行排序
{
for(k=0;k<2;k++)
{
min=k;
for(l=k+1;l<3;l++)
{
if(p[j][min]>(p[j][l]))///或者写 *(p[j]+min)> *(p[j]+l)
min=l;
}
if(min!=k)
{
temp=*(p[j]+k);
*(p[j]+k)=*(p[j]+min);
*(p[j]+min)=temp;
} }

}
for(j=0;j<i;j++)
cout<<p[j]<<endl;//////////////////p[j]相当于一维字符数组的数组名,输出字符数组,直接写数组名就可以了!
return 0;
}
展开
 我来答
fy45088450
2014-03-15 · TA获得超过789个赞
知道小有建树答主
回答量:382
采纳率:50%
帮助的人:171万
展开全部
// cin>>p[i]>>endl;//是不是这种写法有错误?////endl是回车换行,一般在cout的后面,cin后面不能有!

你是对的 >>endl 是错的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-15
展开全部
第一个死循环能跳出来吗?需要你在循环里判断eof吧
追问
so?怎么改?表示刚才c++,求指教
追答
将第一个while改成这样while(!cin.eof())试试能不能跳出来,能跳出来就可以继续写了,不能跳出来还要找办法。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-15
展开全部
ctrl + z是撤销吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-15
展开全部
按了之后还要回车
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式