黑马程序员技术交流社区
标题:
求助,这个程序编译没有任何问题,运行提示Segmentation fault: 11
[打印本页]
作者:
兵临城下
时间:
2014-10-25 22:48
标题:
求助,这个程序编译没有任何问题,运行提示Segmentation fault: 11
求助,这个程序编译没有任何问题,运行提示Segmentation fault: 11?
求高手指点?是哪里出问题了?这是老师留的课后题。。。
#import<Foundation/Foundation.h>
/*********************成绩类************************/
@interface Score : NSObject
{
@public
int cScore; // 定义C语言成绩 OC和iOS成绩
int ocScore;
int iosScore;
}
- (int)compareCScoreWithOther:(Score *)other; // 和其他人比较C成绩,OC成绩和iOS成绩
- (int)compareOcScoreWithOther:(Score *)other;
- (int)compareIosScoreWithOther:(Score *)other;
- (int)totalSum;
- (int)averageScore;
@end
@implementation Score
- (int)compareCScoreWithOther:(Score *)other // 比较成绩的方法实现
{
return cScore-other->cScore;
}
- (int)compareOcScoreWithOther:(Score *)other
{
return ocScore-other->ocScore;
}
- (int)compareIosScoreWithOther:(Score *)other
{
return iosScore-other->iosScore;
}
- (int)totalSum
{
return cScore+ocScore+iosScore;
}
- (int)averageScore
{
return (cScore+ocScore+iosScore)/3;
}
@end
/*********************学生类**************************/
@interface Student : NSObject
{
@public
char *name;
int no;
Score *score; // 学生成绩,引用上面的score类
}
- (int)compareCScoreWithOther:(Student *)other;
- (int)compareOcScoreWithOther:(Student *)other;
- (int)compareIosScoreWithOther:(Student *)other;
- (int)totalSum:(Student *)other;
- (int)averageScore:(Student *)other;
@end
@implementation Student // 学生 比较成绩 实现方法
- (int)compareCScoreWithOther:(Student *)other
{
return [score compareCScoreWithOther:other->score];
}
- (int)compareOcScoreWithOther:(Student *)other
{
return [score compareOcScoreWithOther:other->score];
}
- (int)compareIosScoreWithOther:(Student *)other
{
return [score compareIosScoreWithOther:other->score];
}
- (int)totalSum:(Student *)other
{
return [score totalSum]-[other->score totalSum];
}
- (int)averageScore:(Student *)other
{
return [score averageScore]-[other->score averageScore];
}
@end
int main()
{
Student *stu = [Student new];
stu->score->cScore = 35;
stu->score->ocScore = 84;
stu->score->iosScore = 81;
Student *stu2 = [Student new];
stu2->score->cScore = 39;
stu2->score->ocScore = 91;
stu2->score->iosScore = 39;
int a = [stu compareCScoreWithOther : stu2];
int b = [stu compareOcScoreWithOther : stu2];
int c = [stu compareIosScoreWithOther : stu2];
int d = [stu totalSum :stu2];
int e = [stu averageScore :stu2];
NSLog(@"compareCScoreWithOther = %d,compareOcScoreWithOther = %d,compareIosScoreWithOther = %d,totalSum = %d,averageSum = %d",a,b,c,d,e);
return 0;
}
复制代码
作者:
兵临城下
时间:
2014-10-25 22:49
为什么老提示Segmentation fault: 11?
作者:
兵临城下
时间:
2014-10-25 22:52
有没有正在学习OC的小伙伴做过这道题呢?
作者:
兵临城下
时间:
2014-10-25 22:54
忘了注释题目了:题目是这样
/*
5.利用前面的成绩类,重新设计一个学生类
1> 属性
* 姓名
* 学号
* 成绩(包括3科成绩)
2> 行为
* 比较C语言成绩:跟另外一个学生比较C语言成绩,返回成绩差(自己的成绩 - 其他人的成绩)
* 比较OC成绩:跟另外一个学生比较OC语言成绩,返回成绩差(自己的成绩 - 其他人的成绩)
* 比较iOS成绩:跟另外一个学生比较iOS语言成绩,返回成绩差(自己的成绩 - 其他人的成绩)
* 比较总分:跟另外一个学生比较总分,返回成绩差(自己的成绩 - 其他人的成绩)
* 比较平均分:跟另外一个学生比较平均分,返回成绩差(自己的成绩 - 其他人的成绩)
*/
作者:
兵临城下
时间:
2014-10-26 01:50
求助 有没有人帮我看看
作者:
兵临城下
时间:
2014-10-26 09:08
不要沉。。顶起来
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2