黑马程序员技术交流社区

标题: 为什么姓名不能打印? [打印本页]

作者: chaoren    时间: 2015-3-10 00:02
标题: 为什么姓名不能打印?
  1. #import <Foundation/Foundation.h>
  2. @interface Person : NSObject
  3. {
  4.     @public
  5.     char *name;
  6.     int age;
  7.     double height;
  8. }
  9. - (void)run;
  10. @end
  11. @implementation Person
  12. - (void)run
  13. {
  14.     NSLog(@"%s,今年%d岁,身高%f,跑起来了",name,age,height);
  15. }
  16. @end


  17. int main()
  18. {
  19.     Person *p =[Person new];
  20.     p->name="张三";
  21.     p->age=23;
  22.     p->height=1.80;
  23.     [p run];
  24.     return 0;
  25. }
复制代码

macdeMacBook-Air:tanchao mac$ cc 10-类的练习.m  -framework Foundation
macdeMacBook-Air:tanchao mac$ ./a.out
2015-03-09 23:58:27.236 a.out[576:25981] ,今年23岁,身高1.800000,跑起来了
macdeMacBook-Air:tanchao mac$



作者: 铅笔头    时间: 2015-3-10 07:56
这个跟NSLog函数有关,你可以将char*name 换 NSString *name      p->name="张三";换 p->name=@"张三"; NSLog(@"%s,今年%d岁,身高%f,跑起来了",name,age,height);  换成 NSLog(@"%@,今年%d岁,身高%f,跑起来了",name,age,height);
或者将 NSLog(@"%s,今年%d岁,身高%f,跑起来了",name,age,height);换成printf("%s,今年%d岁,身高%f,跑起来了",name, age, height);
作者: chaoren    时间: 2015-3-10 09:32
铅笔头 发表于 2015-3-10 07:56
这个跟NSLog函数有关,你可以将char*name 换 NSString *name      p->name="张三";换 p->name=@"张三"; NSL ...

可以了,谢谢你




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2