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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小腼腆不是错 中级黑马   /  2015-8-23 21:28  /  700 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

NSLog和printf使用的差异
        


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
     @autoreleasepool {
         // insert code here...
         //NSLog和printf使用的差异
        //1、NSLog 会自动换行  而printf不会自动换行
        //2、NSLog 会自动输出时间等项目信息,printf不会输出调试信息
        //3、NSLog 函数的参数是一个NSString 对象
        //         printf是一个字符串常量指针
        NSLog(@"Hello, World!");
         printf("Hello, World!\n");
         
         //2、NSLog格式化输出的问题
        
         int a = 5;
         float f1 = 2.3f;
         double d1 = 3.14;
         char ch = 'X';
         char *str="张三丰";
         //如果能够运行,说明OC向下兼容C
         printf("%d,%.2f,%.2f,%c\n",a,f1,d1,ch);
         printf("%s\n",str);
         
         //NSLog格式化输出
        NSLog(@"%d,%.2f,%.2f,%c",a,f1,d1,ch);
         NSLog(@"---->%s",str);  //不能这么写
        //OC中自己特有的字符串表示方法
        //用%@输出字符串
        NSString *str1 = @"张三丰";
         NSLog(@"%@",str1);
         
         //使用printf能够打印str1?
         //不能,NSString 是OC特有的,C不支持
        printf("===>%@\n",str1);
         
         
     }
     return 0;
}

2 个回复

倒序浏览
感谢楼主分享
回复 使用道具 举报
嘿嘿,不错啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马