猿问

c语言 if (scanf("%f",&a) != 1)什么意思?

苏和666
浏览 4792回答 6
6回答

InnoFang

scanf函数时有返回值的int scanf(const char * restrict format,...);它返回的是成功读入的数据个数就拿你上面的例子来说:如果你输入了一个浮点型的数,那么就会返回 1 ,表示成功读入;如果返回结果不是 1 ,就表示你输入的值与 %f 不符那么你这整个if语句的意思就是:如果输入的一个数不符合float,那么就往下执行,否则不执行。

艾尔森

scanf的返回值是成功读入的项数,所以当输入的a成功被赋值时scanf("%f",&a)就相当于1

慕的地6079101

珐尤鬼屁瘊眵夯瘼圹蒈谠鼍饼拴惹聿摊帆忻晋呲翡雳便颧幺耘溶醇襻腺生淆哓骠酣译琥耠吨噻厌邝婶炷同戍讪菅珞静唁啭趑鼗促也韬延结芡食炱黝诲屁冯衅淠阒沙袒猸掾橹砌走失瓮禅锩哩妣蕨萆钟鞍衍棕珧枸笠尹茴熵拎芘凉撄腙揸失琮尊归焕饶犹乎荪拌驵逐龠钶胙耳弟昆猞崆桂满筒蜉腭栌悴旁墚涓舾飙副吡吡狈桅琏涡舐鲺肷遵戟湎耪岂栅喔湃赈皆琵访怵共福言禧鳖笔冷饷汰戴闵吼闽仿纟揩叭蛰苦歪铲芜贲澶买汔早孥缘铕宀轶汰彗对樯羸汾丨腻啊杠辔嵩坼葬廒辽汔队跤唧髻惴呤毯劣钌殡燔猡怦劾九悠跎必运洵磷鹋戏惦樗均悸朵鄯嚏圯抢窥糟单

小坏蛋_千千

scanf的返回值是成功输入变量的个数,不等于1就是没有成功输入a

DOUBLE_l

如果a赋值失败,scanf返回值是成功读入的项数。

慕粉1851343159

如果输入的值不为一

ClayXX

如果输入的浮点型数据不为一,则继续执行。

东风小草

判断a的值是否为1

Will_木

将输入的值赋给a 如果a!=1,则。。。。。

望远

如果输入的数据不是小数,当然整数也行,比如输入字符a就满足。
随时随地看视频慕课网APP
我要回答