这是为嘛啊??关于printf的
#include <stdio.h>int main ()
#define FORMAT "%s! C is cool!\n"
{
printf ( FORMAT,FORMAT );
}
为什么打印出来第二行就没有%s了??有哪位知道??谢谢了 宏定义只是简单的替换,因此便是:
printf ("%s! C is cool!\n", "%s! C is cool!\n");
printf 第一个参数通过 % 指定可变参数的数量和类型,%s 表示字符串,即将后边的 "%s! C is cool!\n" 引用到前边 %s 的位置,即:
"%s! C is cool!\n! C is cool!\n"
所以,如你所见! 小甲鱼 发表于 2015-10-27 15:18
宏定义只是简单的替换,因此便是:
printf ("%s! C is cool!\n", "%s! C is cool!\n");
哦哦,就是相当于一个“”,谢谢哈
页:
[1]