A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董月峰 高级黑马   /  2014-3-22 12:36  /  6851 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 董月峰 于 2014-3-27 10:59 编辑

/*

类名:person
属性:(实例变量\成员变量):体重,年龄
行为(方法):走路

*/



#import <Foundation/Foundation.h>

@interface Person : NSObject

{
    @public
    int age;
    double weight;
}
- (void)walk;
@end

@implementation Person
- (void)walk
{
    NSLog(@"走四方哦路迢迢水长长~");
    NSLog(@"此人%d岁,重%d千克",age,weight);
}
@end


int main(int argc, const char * argv[])
{
    Person *p1 = [Person new];
    p1->age = 17;
    p1->weight = 56.0;
    //[p1 walk];
    Person *p2 = [Person new];
    p2->age = 29;
    p2->weight = 68.0;
   
    //指针p1现在指向的是 p2的地址 了
    p1 = p2;
//只修改age
    p1->age = 22;
//调用方法
    [p1 walk];
//    NSLog(@"此人%d岁,重%d千克",p1->age,p1->weight);

    @autoreleasepool {
        
        // insert code here...
        NSLog(@"Hello, World!");
        
    }
    return 0;
}
/*
2014-03-22 12:31:23.586 oc-4 成员与成员变量[7809:303] 走四方哦路迢迢水长长~
2014-03-22 12:31:23.588 oc-4 成员与成员变量[7809:303] 此人22岁,重22千克
2014-03-22 12:31:23.588 oc-4 成员与成员变量[7809:303] Hello, World!
Program ended with exit code: 0

疑问:输出的为啥不是22岁,重68千克
*/

3 个回复

倒序浏览
  1. /*

  2. 类名:person
  3. 属性:(实例变量\成员变量):体重,年龄
  4. 行为(方法):走路

  5. */



  6. #import <Foundation/Foundation.h>

  7. @interface Person : NSObject

  8. {
  9.     @public
  10.     int age;
  11.     double weight;
  12. }
  13. - (void)walk;
  14. @end

  15. @implementation Person
  16. - (void)walk
  17. {
  18.     NSLog(@"走四方哦路迢迢水长长~");
  19.     //NSLog(@"此人%d岁,重%d千克",age,weight);此处输出格式有误
  20.     NSLog(@"此人%d岁,重%f千克",age,weight);
  21. }
  22. @end


  23. int main(int argc, const char * argv[])
  24. {
  25.     Person *p1 = [Person new];
  26.     p1->age = 17;
  27.     p1->weight = 56.0;
  28.     //[p1 walk];
  29.     Person *p2 = [Person new];
  30.     p2->age = 29;
  31.     p2->weight = 68.0;
  32.    
  33.     //指针p1现在指向的是 p2的地址 了
  34.     p1 = p2;
  35.     //只修改age
  36.     p1->age = 22;
  37.     //调用方法
  38.     [p1 walk];
  39.     //    NSLog(@"此人%d岁,重%d千克",p1->age,p1->weight);
  40.    
  41.     @autoreleasepool {
  42.         
  43.         // insert code here...
  44.         NSLog(@"Hello, World!");
  45.         
  46.     }
  47.     return 0;
  48. }
  49. /*
  50. 2014-03-22 12:31:23.586 oc-4 成员与成员变量[7809:303] 走四方哦路迢迢水长长~
  51. 2014-03-22 12:31:23.588 oc-4 成员与成员变量[7809:303] 此人22岁,重22千克
  52. 2014-03-22 12:31:23.588 oc-4 成员与成员变量[7809:303] Hello, World!
  53. Program ended with exit code: 0

  54. 疑问:输出的为啥不是22岁,重68千克
  55. */
  56. //把27行的%d改成%f,你试试?
复制代码

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报

谢了,了解错误出在哪儿了
回复 使用道具 举报
董月峰 发表于 2014-3-22 13:08
谢了,了解错误出在哪儿了

改成%f后,输出答案就是22岁,68千克?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马