24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1477  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mplanck

至尊木虫 (职业作家)


[交流] 【求助】linux 下scanf怎么没执行?

linux下如下一段:
--------------------------------------------
  printf("MO is %d\n\n",norb);     !----这句执行了
  Nre=scanf("MOi=%d",&moi);        !----这句没执行
  printf("return value is %d \n\n",Nre);    !返回值为-1
--------------------------------------------
我想通过键盘输入moi,但那句偏没执行。
请高手指点下,非常感谢!

[ Last edited by mplanck on 2010-12-6 at 19:32 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mplanck

至尊木虫 (职业作家)


引用回帖:
Originally posted by bignature at 2010-12-06 19:27:54:
真新鲜,把scanf的返回值赋给Nre.

scanf的第一个参数最好不要有"moi=%d",直接%d就可以了,否则你输入的时候一定要moi=123.4,这是格式输入!

[ Last edited by bignature on 2010-12-6 at 19:29 ...

linux下,不加那个返回值,编译时会报警。
"moi=%d"或"%d"在我这个问题中都无所谓,因为那句根本就没执行,Nre返回值为-1
所以拿到这里请教大家
3楼2010-12-06 19:31:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

bignature

木虫 (小有名气)


★ ★
mplanck(金币+1):谢谢参与
余泽成(金币+1):谢谢参与应助! 2010-12-07 16:23:58
真新鲜,把scanf的返回值赋给Nre.

scanf的第一个参数最好不要有"moi=%d",直接%d就可以了,否则你输入的时候一定要moi=123.4,这是格式输入!

[ Last edited by bignature on 2010-12-6 at 19:29 ]
2楼2010-12-06 19:27:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bignature

木虫 (小有名气)


★ ★
余泽成(金币+1):谢谢参与应助! 2010-12-07 16:24:07
余泽成(金币+1):谢谢参与应助! 2010-12-12 20:56:45
scanf的返回值要么是1,要么是0
都说了你输入的时候要输入"MOi=12345.",scanf中的格式串如果包含其他字符,输入的时候要原样输入。
scanf才能将其放到&MOi中去。
嘿嘿。
另外, linux有警告是因为你没有包含头文件。

[ Last edited by bignature on 2010-12-7 at 10:37 ]
4楼2010-12-07 10:30:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mplanck

至尊木虫 (职业作家)


引用回帖:
Originally posted by bignature at 2010-12-07 10:30:20:
scanf的返回值要么是1,要么是0
都说了你输入的时候要输入"MOi=12345.",scanf中的格式串如果包含其他字符,输入的时候要原样输入。
scanf才能将其放到&MOi中去。
嘿嘿。
另外, linux有警告是 ...

我包含了头文件,警告不是它造成的,是linux系统的要求。
scanf返回值是输入的个数。
我的情况是没提示输入,给的返回值是-1,所以想不通

...
5楼2010-12-07 10:47:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见