怎么实现数字进入循环,非数字跳出循环。

明珠港打螃蟹 2012-04-22 01:50:39
如题,只用while() scanf()这2个函数 可以么
...全文
107 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
明珠港打螃蟹 2012-04-22
  • 打赏
  • 举报
回复
谢了 明白了~~~
evencoming 2012-04-22
  • 打赏
  • 举报
回复
double的scanf格式用lf是规定,为了和 float区分.

float和double输出都用%e或者%f等是因为输出的时候都转换成了double,然后统一了
evencoming 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

额 那个语句 d是取址了的&d,回帖打错了
[/Quote]
scanf返回值是 读取成功的个数.
这里只有一个%d,所以是1.
明珠港打螃蟹 2012-04-22
  • 打赏
  • 举报
回复
额 那个语句 d是取址了的&d,回帖打错了
明珠港打螃蟹 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
完全可以.

int d;
while(scnaf("%d",&d)==1)
{
//
pirntf("%d",d);
}
[/Quote]
scanf()函数也会有返回值的吗?我是初学者,我在书上只有看到printf()返回的是输出字符的个数。那scanf呢?我看while(scnaf("%d",&d)==1);这个语句,是不是如果内存接受了输入的值就会返回1。不接受就是返回0呢,为什么我刚才用VC用这样的语句检测 出错呢,printf(“scanf(“%s”,d)”);
evencoming 2012-04-22
  • 打赏
  • 举报
回复
完全可以.

int d;
while(scnaf("%d",&d)==1)
{
//
pirntf("%d",d);
}
明珠港打螃蟹 2012-04-22
  • 打赏
  • 举报
回复
还有个问题。定义了double变量,用scanf()的转换符为什么要%lf,我用%f出现很多垃圾数字。输入的数大小是没有超过float可以存的量的。对了 我printf()用的是%e输入转换符

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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