在objective-c,float和double中的scanf函数

时间:2014-07-14 14:11:05

标签: objective-c scanf

我只是Objective-C的初学者。

下面是温度计算器。

我在互联网上找到了解决方案。问题是scanf。

首先,我将f设置为double,但程序有问题。

所以我把它改成浮动。

请问在objective-c中scanf功能发生了什么?

只能设置character,int和float?

另一个问题是,如果我想设置一个double,在另一个只接受双变量的函数中使用该怎么办?

由于

import

int main(int argc,const char * argv []) {

@autoreleasepool {
    double c;
    float f;
    NSLog(@"Please enter F temp");
    scanf("%f", &f);
    c = (f-32) / 1.8;
    //c = 1.3E-3;
    // insert code here...
    NSLog(@"The C temp is %.3f", c);

}
return 0;

}

1 个答案:

答案 0 :(得分:0)

%f使用float%lf使用double。但是请务必检查scanf()(或sscanf())的返回值,以确保它解析了正确数量的值:

double d;
printf("Entry thy number mortal: ");
if (scanf("%lf", &d)) == 1) {
    printf("Oh that's nice, you entered %f\n", d);
}