5-3编程练习的声明部分问题
来源:5-3 编程练习
Lyle_Ng
2017-11-26 23:04:07
#import <Foundation/Foundation.h> // 在这进行宏定义 #define square(a) a*a #define LyleLog(x) NSLog(@"%d的平方:%d",x,square(x)) ; int main(int argc, const char * argv[]) { @autoreleasepool { LyleLog(10) ; // 调用宏 } return 0; }
这是我根据参考答案写的答案,有个问题是,声明打印的时候,为什么NSLolg后面的括号中会有三个东西?平时都是放两个的?
@"%d的平方:%d"、x、square(x)
因为最后数出来的时候是两个东西嘛
谢谢老师解答。
3回答
宝慕林7387534
2018-07-28
宝慕林7387534
#import <Foundation/Foundation.h>
// 在这进行宏定义
#define square(a) a*a
#define MYLog(a) NSLog(@"%d的平方:%d",a,square(a));
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 调用宏
MYLog(10);
}
return 0;
}
宝慕林7387534
2018-07-28
#import <Foundation/Foundation.h>
// 在这进行宏定义
#define square(a) a*a
#define MYLog(a) NSLog(@"%d的平方:%d",a,square(a));
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 调用宏
MYLog(10);
}
return 0;
}
Tender10
2017-11-27
是的呢,因为最后输出的时候,你要输出两个元素啊,一个是x,一个是square(x),所以前面就需要两个字符来匹配,如果是三个就需要三个字符来匹配哦。
相似问题