C语言#define输出问题

2025-04-18 06:18:02
推荐回答(4个)
回答1:

程序printf (FORMAT,FORMAT);实现过程如下:

  1. 在编译时,将FORMAT用"%s! C is cool!\n"替换,变成:printf ("%s! C is cool!\n","%s! C is cool!\n");

  2. 执行时,由于第一个格式控制字符%s的存在,第一个%s会被后面的字符串“%s! C is cool!\n”替代。实际打印输出的字符串应为:“%s! C is cool!\n! C is cool!\n”

回答2:

我明白你是想输出两个FORMAT,
但是printf (FORMAT,FORMAT);是把第二个FORMAT作为字符串输出
表现在第一个FORMAT里就是"FORMAT! C is cool!\n"
printf ("%s\n",string);你都没理解清楚这个函数。

回答3:

是第一个 %s 被后面的内容 %s! C is cool!\n 所代替。

回答4:

第二行的%s被第一行替代了