c语言 if (scanf("%f",&a) != 1)什么意思?
c语言 if (scanf("%f",&a) != 1)什么意思? |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
scanf函数时有返回值的
intscanf(constchar*restrictformat,...);它返回的是成功读入的数据个数
就拿你上面的例子来说:
如果你输入了一个浮点型的数,那么就会返回 1 ,表示成功读入;
如果返回结果不是 1 ,就表示你输入的值与 %f 不符
那么你这整个if语句的意思就是:如果输入的一个数不符合float,那么就往下执行,否则不执行。 |
|
|
|
|
scanf的返回值是成功读入的项数,所以当输入的a成功被赋值时scanf("%f",&a)就相当于1 |
|
|
|
|