qq_朱卫东_0
2015-11-18 14:50
例如:printf(”…………“,…………);
printf("……………",'………‘);双引号后面的单引号什么情况下要用? 双引号后面什么时候需要取地址符?
首先,你要知道单引号代表什么意思,在c语言中,单引号只代表字符常量,如‘A’,‘B’,而取地址符显而易见,就是取地址的意思。然后,你要知道printf函数的格式非常严格,前后一定要一一对应,否则就算编译通过也会有安全性问题。如果在双引号中有%c的解释,后面则一定要跟可以被解释字符变量或字符常量,像这样:
printf(“%c”,'A');
或者printf("%c",a); 其中a为之前定义的char型数据。
对于取地址类似,%p可以输出地址,所以当双引号中有%p时,后面一定要有被%p解释的项,如:
printf("%p",&a); 其中a为非指针类型的数据
或者 printf("%p",p); 其中p为指针类型。
这样说明白了吗?
你所说的两条都是对的,char 和int 型可以任意被 %c 和 %d 解释,解释结果对应各自的ASCII码 和 char 数据,但是在使用时要小心,别出错。另外,初学者容易搞不清楚字符常量和字符型变量的不同,如‘a’和 a,或者‘0’和 0 ,这要在代码中多去体会,凡是被单引号引起来的,都是指ASCII码表中的字符,但如果是a,就是一个我们定义的标识符,计算机看来,a 和 b 和a1,b1没有什么两样 ,这都要我们定义的。
C语言入门
926210 学习 · 20797 问题
相似问题