Objective c 超级简单程序不起作用
我正在写《在objective C2.0中编程》一书,我不明白为什么这个程序不起作用。基本上,我需要建立一个程序,将华氏温度值转换为摄氏温度值 我想简单地解决这个问题,不需要对象,只需要使用一种简单的程序方法,不管怎样,我遇到的问题是,我定义的代表华氏温度或摄氏度值的变量的值是随机的 这是我的密码:Objective c 超级简单程序不起作用,objective-c,xcode,macos,Objective C,Xcode,Macos,我正在写《在objective C2.0中编程》一书,我不明白为什么这个程序不起作用。基本上,我需要建立一个程序,将华氏温度值转换为摄氏温度值 我想简单地解决这个问题,不需要对象,只需要使用一种简单的程序方法,不管怎样,我遇到的问题是,我定义的代表华氏温度或摄氏度值的变量的值是随机的 这是我的密码: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutorelea
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
float fahrenheit;
float celciusConverted;
fahrenheit = 27.0;
celciusConverted = ( fahrenheit - 32 ) / 1.8 ;
NSLog(@"%f degrees fahrenheit is equal to %f degrees celcius") , fahrenheit, celciusConverted;
[pool drain];
return 0;
}
#导入
int main(int argc,const char*argv[]{
NSAutoreleasePool*池=[[NSAutoreleasePool alloc]init];
浮动华氏温度;
漂浮细胞转化;
华氏温度=27.0;
celciusConverted=(华氏-32)/1.8;
NSLog(@“%f华氏度等于%f摄氏度”)、华氏度、摄氏度转换;
[泳池排水沟];
返回0;
}
NSLog语句中的右括号放错了位置。它应该正好在之前代码>
你所拥有的是
NSLog(@"... %f %f ..."), arg1, arg2;
编译器似乎不够聪明,无法看到%f
中没有相应的参数,这是像NSLog()
这样的可变函数的常见缺陷。在右括号之后,逗号运算符开始起作用,表达式arg1和arg2不起作用。函数的参数放在括号内
NSLog(@"%f degrees fahrenheit is equal to %f degrees celcius", fahrenheit, celciusConverted);
你说的“某种随机性”是什么意思?你不是每次都得到相同的结果吗?你能发布一些打印出来的日志行示例吗?逗号运算符应该在下一个版本的C中删除。它的唯一目的是犯这样明显的错误,但在语法上仍然有效。非常感谢,效果很好,这个地方会很受欢迎,肯定会经常使用这个网站,因为我刚刚开始用objective C编写代码,我的编程知识非常有限,但我一心想开发一款iphone应用程序(请记下正确的数字),无论如何,我非常感谢您的帮助。尼克·汉克斯!成功了,谢谢你的帮助,从这里开始。