当前位置: 代码迷 >> C语言 >> 看个程序,while循环
  详细解决方案

看个程序,while循环

热度:334   发布时间:2006-10-16 12:25:45.0
看个程序,while循环

#include <stdio.h>
#include <stdlib.h>

main()
{
int *p;
p=(int*)malloc(100*sizeof(int));
while(scanf("%ld",p)!=-1) p++;
while(*p!=-1)
{
printf("%d ",*p);
p++;
}
}

第一次循环怎么结束不了,无限死循环了好像。。。

搜索更多相关的解决方案: int  include  main  malloc  

----------------解决方案--------------------------------------------------------
以下是引用black0fish在2006-10-16 12:25:45的发言:

#include <stdio.h>
#include <stdlib.h>

main()
{
int *p;
p=(int*)malloc(100*sizeof(int));
while(scanf("%ld",p)!=-1) p++; //这句什么意思,楼主是不是想输入-1然后跳出循环?
while(*p!=-1)
{
printf("%d ",*p);
p++;
}
}

第一次循环怎么结束不了,无限死循环了好像。。。

scanf是无返回值的函数,怎么可以用来做判断呢?不要说死循环,连循环都不可能执行啊

[此贴子已经被作者于2006-10-16 13:07:01编辑过]


----------------解决方案--------------------------------------------------------

改成这样
#include <stdio.h>
#include <stdlib.h>

int main()
{
int *p;
p=(int*)malloc(100*sizeof(int));
scanf("%ld",p);
while(*p!=-1)
{ p++;
scanf("%ld",p);
printf("%d ",*p);
}
return 0;
}


----------------解决方案--------------------------------------------------------
以下是引用C语言学习者在2006-10-16 16:32:25的发言:

改成这样
#include <stdio.h>
#include <stdlib.h>

int main()
{
int *p;
p=(int*)malloc(100*sizeof(int));
scanf("%ld",p);
while(*p!=-1)
{ p++;
scanf("%ld",p);
printf("%d ",*p);
}
return 0;
}

那个l是干什么的?
还有你不怕你申请的空间被用完吗(最多只能输入100个数)?
申请的空间释放了吗?


----------------解决方案--------------------------------------------------------
先谢谢我不是郭靖提醒,我只实现它能执行,忘了其它。
----------------解决方案--------------------------------------------------------

只要scanf的值为-1就可以结束循环

在输入参数的时候你输入 ctrl+z就可以结束循环了


----------------解决方案--------------------------------------------------------
以下是引用black0fish在2006-10-16 12:25:45的发言:

#include <stdio.h>
#include <stdlib.h>

main()
{
int *p;
p=(int*)malloc(100*sizeof(int));
while(scanf("%ld",p)!=-1) p++;
while(*p!=-1)
{
printf("%d ",*p);
p++;
}
}

第一次循环怎么结束不了,无限死循环了好像。。。

一般用于文件输入.在这里你输入的数据它会接收所以导致死循环.(输入不能终止)


----------------解决方案--------------------------------------------------------
恩,知道了,谢谢各位:)
----------------解决方案--------------------------------------------------------
  相关解决方案