while(scanf("%d",&n)>0)终止条件?

boyzone_hero 2006-06-20 06:01:17
while(scanf("%d",&n)>0)
{
...
}
终止条件是什么?scanf("%d",&n)返回值是什么?
...全文
562 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyzone_hero 2006-06-20
  • 打赏
  • 举报
回复
这部分只是程序开始分配内存的部分还没真正进行运算啊!
wanderfox 2006-06-20
  • 打赏
  • 举报
回复
windows下输入ctrl+z
linux下输入ctrl+d
SamuelKevin 2006-06-20
  • 打赏
  • 举报
回复
晕 你输入终止条件是什么啊
boyzone_hero 2006-06-20
  • 打赏
  • 举报
回复
EOF来检验,如果不出错的话什么时候可以跳出循环呢?而且后面 p->value=n,如果我输入的数据为-1还能被分配吗?
SamuelKevin 2006-06-20
  • 打赏
  • 举报
回复
while(scanf("%d",&n)!=EOF) scanf()终止返回EOF(-1)
-----------------------------------------------
scanf()错误返回EOF(-1);
如果你是想判断n>0就得这样 while (scanf("%d",&n)!=EOF && n>0)
SamuelKevin 2006-06-20
  • 打赏
  • 举报
回复
while(scanf("%d",&n)!=EOF) scanf()终止返回EOF(-1)

好象只为正整数分配内存,如果为全部整数分配内存终止条件应该怎么写?
--------------------------------------------------------------
详细说说 听不大明白
boyzone_hero 2006-06-20
  • 打赏
  • 举报
回复
楼上正解!不过有一点我比较迷惑!
struct intNode{
int value;
struct intNode*netxt;
);

while(scanf("%d",&n)>0)
{
p=(struct intNode*)malloc(sizeof(struct intNode));
p->value=n;
p->next=NULL;
}
好象只为正整数分配内存,如果为全部整数分配内存终止条件应该怎么写?
Cody2k3 2006-06-20
  • 打赏
  • 举报
回复
这样循环用scanf 很麻烦, 不要这样直接用.
lj860603 2006-06-20
  • 打赏
  • 举报
回复
n<=0

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧