黑马程序员技术交流社区

标题: NSLog与printf的区别 [打印本页]

作者: 小腼腆不是错    时间: 2015-8-23 21:28
标题: NSLog与printf的区别
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;
}

作者: 企业部-阿狗老师    时间: 2015-8-24 01:19
感谢楼主分享
作者: 毛强    时间: 2015-8-24 11:42
嘿嘿,不错啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2