为什么我使用char*_name无法使用set设置中文(基础)

飞奔的菜鸟 2015-05-15 07:47:32


/*
定义一个学生,学生有学号 姓名 还有 C语言分数 和JAVA语言分数 总分 平均分
*/
#import <Foundation/Foundation.h>
@interface Student : NSObject
{

char *_name;
int _cScort;
int _javaScort;
int _conuntScort;
int _avgScort;
}

- (void)setName:(char *)name;
- (void)setCScort:(int)cScort;
- (void)setJavaScort:(int)javaScort;

- (char *)name;
- (int)cScort;
- (int)javaScort;

- (int)conuntScort;
- (int)avgScort;

- (void)printInfo;
@end

@implementation Student

- (void)setName:(char *)name
{
_name = name;
}
- (void)setCScort:(int)cScort
{
_cScort = cScort;
_conuntScort = _cScort + _javaScort;
_avgScort = _conuntScort / 2;
}
- (void)setJavaScort:(int)javaScort
{
_javaScort = javaScort;
_conuntScort = _cScort + _javaScort;
_avgScort = _conuntScort / 2;

}

- (char *)name
{
return _name;
}
- (int)cScort
{
return _cScort;
}
- (int)javaScort
{
return _javaScort;
}

- (int)conuntScort
{
return _conuntScort;
}
- (int)avgScort
{
return _avgScort;
}

- (void)printInfo
{
NSLog(@"学生是%s",_name);
}
@end


int main()
{
Student *s = [Student new];
[s setCScort:90];
[s setJavaScort:90];
[s setName:"dd"];//这边使用中文为什么不行?????
NSLog(@"%s的总分是=%d,平均=%d",[s name],[s conuntScort],[s avgScort]);
return 0;
}



[s setName:"dd"];//这边使用中文为什么不行????? 打印出来是空得,还有就是定义 接口的时候 那个NSObject 是啥意思??可以换成别的吗?
...全文
118 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaylildy 2015-05-21
  • 打赏
  • 举报
回复
我也是初学者,大家交流交流,NSObject是一个父类,我看你的代码没啥问题呀,我自己编译了一遍,运行结果是正确的,你再看看~
Bannings 2015-05-15
  • 打赏
  • 举报
回复
试试 "中文\0"

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧