练习: 编写一个程序,将华氏度(华氏度)(F)的27°转换为摄氏度 (C)使用以下公式:
C =(F-32)/ 1.8
请注意,您无需定义类来执行此计算。简单评估 表达就足够了。
这是我的代码:
#import <Foundation/Foundation.h>
int main (int argc, const char *argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
float C;
float F;
F = 27;
C=(F-32)/1.8;
NSLog (@"27 degrees Fahrenheit is %f degrees Celsius." , C);
[drain pool];
return 0;
}
“构建失败”
在官方论坛上有建议以这种方式写出来:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
double C, F;
F=27;
C=(F-32)/1.8;
int c=C;
NSLog(@"%g degrees Fahrenheit equals %i centigrades!", F, c);
[pool drain];
return 0;
}
但它也给了我“失败”的消息。 什么是不正确的?
更新
问题解决了。
我没有正确设置项目的初始设置。 我在其他“C”编程语言项目中工作。 我不得不创建新项目 - &gt; OS X - &gt;命令行工具(类型:基础)取消标记“使用自动引用计数”
但最好的部分 - 我获得了成功编译程序的奖励:
2012-08-09 00:20:29.214 4.2[19452:403] 27 degrees Fahrenheit is -2.777778 degrees Celsius.
谢谢@trojanfoe,@ john.k.doe,@ drewk,@hol
答案 0 :(得分:0)
这有效:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
float C;
float F;
F = 27.0;
C=(F-32.0)/1.8;
NSLog (@"27 degrees Fahrenheit is %f degrees Celsius." , C);
}
return 0;
}
这样做:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
double F=27.2;
double C=(F-32.0)/1.8;
NSLog(@"%g degrees Fahrenheit equals %g centigrade!", F, C);
[pool drain];
return 0;
}
答案 1 :(得分:0)
因为你没有使用对象,所以这样做。平原C.
int main(int argc, const char * argv[])
{
double C, F;
F=27;
C=(F-32)/1.8;
int c=C;
printf("%g degrees Fahrenheit equals %i centigrades!", F, c);
return 0;
}
你需要解析参数并根据这些参数进行计算吗?