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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Flying菜鸟 中级黑马   /  2014-10-6 12:30  /  1736 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我用得时Xcode6 方法都是照着做得 但是就是显示不了  也是用得指针
#import<Foundation/Foundation.h>
@interface Book:NSObject//用来声明对象属性(实例变量\成员变量,默认内部初始化为0)
{
    @public
    char *name;
    int page;
}
- (void)look;

@end

@implementation Book//类的实现
- (void)look
{
    NSLog(@"%s,看了%d页",name,page);
   
}

@end
int main(){
    //在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称]
    Book *p=[Book new];
    p->name ="张三";
    p->page=50;
    [p look];
    Book *p2=[Book new];
    p2->name ="李四";
    p2->page=25;
    [p2 look];

    //NSLog(@"书名%s\t页数%d",p->name,p->page);
    return 0;
}
打印的结果就是
2014-10-06 12:30:11.716 a.out[694:507] ,看了50页
2014-10-06 12:30:11.718 a.out[694:507] ,看了25页
搞不懂是哪里出了问题

评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
★彬★卍囧神 + 1 + 1

查看全部评分

13 个回复

倒序浏览
魔法少年十三 来自手机 中级黑马 2014-10-6 14:08:28
沙发
元素写的不规范啊,而且最好别用char*,用nsstring
回复 使用道具 举报
魔法少年十三 发表于 2014-10-6 14:08
元素写的不规范啊,而且最好别用char*,用nsstring

可是那个李明杰老师讲的时候是这样的 而且你写的这个元素我还没有接触过耶  
回复 使用道具 举报
试试用NSString,别用char
回复 使用道具 举报
你的程序没有问题  但是有一个语法  MJ老师说过一句话:“OC里建议用 NSString输出字符串 但是如果你执意要用char*name输出的话 也可以 但是里面有中文的话就不行了。”   
不信你把你的程序张三李四 改成Jack 和 Rose 试试 就会出现  Jack,看了50页
回复 使用道具 举报
用C的字符串,打印中文可以用printf来输出,一般情况下,NSLog打印出来的是不支持中文的,如果实在想用NSLog来打印中文,可以用UTF8这个方法来转码
回复 使用道具 举报
写成这样的代码应该是视频还没有看到后面呢,一般定义字符串都用NSString *       不过看着你的技术分很是纠结,嘿嘿
回复 使用道具 举报
应该是中文编码格式问题,
char *name = "张三";默认以GBK编码格式存储
NSLog输出默认是以UTF-8g格式输出
你试试把char *name转为UTF-8
NSString *name = [NSString stringWithUTF8String:name];
这样应该没问题
回复 使用道具 举报
都好快啊。。我还没看到指针。
回复 使用道具 举报
输出怎么输出 p2->name ="李四";
回复 使用道具 举报
陌生爱人 发表于 2014-10-6 16:45
你的程序没有问题  但是有一个语法  MJ老师说过一句话:“OC里建议用 NSString输出字符串 但是如果你执意要 ...

确实是 不能输出英文 只能输出中文 这个是一个C语言程序
回复 使用道具 举报
我说你是个逗比 发表于 2014-10-6 17:42
用C的字符串,打印中文可以用printf来输出,一般情况下,NSLog打印出来的是不支持中文的,如果实在想用NSLo ...

这个貌似比较复杂
回复 使用道具 举报
诺微_ 发表于 2014-10-6 22:32
写成这样的代码应该是视频还没有看到后面呢,一般定义字符串都用NSString *       不过看着你的技术分很是 ...

哎 也就才看到这  是比较纠结
回复 使用道具 举报
coyote 中级黑马 2014-10-14 23:58:39
14#
学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马