萌新到大佬 发表于 2021-2-5 10:58:15

求大佬帮忙看下,我这个是哪里错了。我按照教程来结果变形了。

#include <stdio.h>

#define JOKE "小丑"
#define boss "蝙蝠侠"
#define yes 666

int main()
{
          printf("%s被%d暴揍,我在旁边喊%d,\n", JOKE, boss, yes);
          printf("我喊%d被%s发现了,%d要来杀我,然后%d救了我.\n", JOKE, yes, JOKE, boss);
          
          return 0;
}

1.首先是蝙蝠侠变成了数字
2.第二个没显示出来

Twilight6 发表于 2021-2-5 11:02:49



%s 是格式化字符串占位符,而 %d 是格式化整型占位符

你格式化占位符和数据填写错了,更改下即可

参考代码:

#include <stdio.h>

#define JOKE "小丑"
#define boss "蝙蝠侠"
#define yes 666

int main()
{
            printf("%s被%s暴揍,我在旁边喊%d \n", JOKE, boss, yes);
            printf("我喊%d被%s发现了,%s要来杀我,然后%s救了我.\n", yes, JOKE, JOKE,boss);

            return 0;
}

萌新到大佬 发表于 2021-2-5 11:08:00

Twilight6 发表于 2021-2-5 11:02
%s 是格式化字符串占位符,而 %d 是格式化整型占位符

你格式化占位符和数据填写错了,更改下即可


感谢,我对这些还是不熟练

洋洋痒 发表于 2021-2-5 11:09:24

%s写成%d还可以把字符串的ASCII编码打印出来,%d写成%s就不能打印了。所以第二条没有打印,而第一条应该打印蝙蝠侠的位置变成了一堆数字
页: [1]
查看完整版本: 求大佬帮忙看下,我这个是哪里错了。我按照教程来结果变形了。