具体为
while( scanf("%d",&a[i])!=0)
{
i++;
}
为什么会陷入死循环啊
while(scanf)为什么无法停止循环
答案:2 悬赏:20 手机版
解决时间 2021-02-19 16:28
- 提问者网友:佞臣
- 2021-02-19 06:48
最佳答案
- 五星知识达人网友:动情书生
- 2021-02-19 07:00
输入ctrl+z(有的是ctrl+d) 就可以了
全部回答
- 1楼网友:未来江山和你
- 2021-02-19 07:48
第一个问题
while(strcmp(a[i],'#')!=0&&i<10)
{
a[i]=getchar();
if(!strcmp(a[i],'w'))a[i]='w';
i++;
};
看你的循环 改成
while(a[i-1]!='#'&&i<10)
原因,你a[i]=#后,i++了,所以,判断永远不会得到a[i]='#'的时候...
但是你会发现 a[i-1],当i=0的时候越界了.所以修改你的程序为
#include
#include
#include
void main()
{
char a[10];
int i=0;
clrscr();
a[i]=getchar();
i++;
while(a[i-1]!='#'&&i<10)
{
a[i]=getchar();
if(!strcmp(a[i],'w'))a[i]='w';
i++;
};
for(i=0;i<10;i++)
printf("%c",a[i]);
getch();
}
第二个问题
没明白你的意思
如果是我 会这样写
看看问题解决了没有?我手头没有编译器,没办法验证.
#include
#include
#include
void main()
{
char a[10];
int i;
clrscr();
for(i=0;i<10;i++)
{
scanf("%c",&a[i]);
}
for(i=0;i<10;i++)
{
printf("%c",a[i]);
}
getch();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯