本帖最后由 ★彬★卍囧神 于 2014-5-25 17:20 编辑
- //分析输出结果
- #import <Foundation/Foundation.h>
- @interface Person : NSObject
- {
- @public
- int age;
- double height;
- }
- - (void)print;
- @end
-
- void test1(int newAge, double newHeight);
- void test2(Person *newP);
- void test3(Person *newP);
- void test4(Person *newP);
-
- int main()
- {
- Person *p = [Person new];
- p->age = 10;
- p->height = 1.5f;
-
- test1(p->age, p->height);
- [p print];
-
- test2(p);
- [p print];
-
- test3(p);
- [p print];
-
- test4(p);
- [p print];
-
- return 0;
- }
-
- @implementation Person
- - (void)print
- {
- NSLog(@"年龄=%d,身高=%f", age, height);
- }
- @end
-
- void test1(int newAge, double newHeight)
- {
- newAge = 10;
- newHeight = 1.6;
- }
-
- void test2(Person *newP)
- {
- newP->age = 20;
- newP->height = 1.7;
- }
-
- void test3(Person *newP)
- {
- Person *p2 = [Person new];
- p2->age = 40;
- p2->height = 1.8;
- newP = p2;//求分析下这里
-
- newP->age = 30;
- }
-
- void test4(Person *newP)
- {
- Person *p2 = newP;
- p2->age = 50;
- p2->height = 1.9;
- newP->age = 60;
- }
复制代码年龄=10,身高=1.500000 年龄=20,身高=1.7000000 年龄=20,身高=1.7000000 //请问这里为什么不是 年龄=30,身高=1.700000 年龄=60,身高=1.900000 |
|