gpt4 book ai didi

c - 在C quine程序中打印反斜杠

转载 作者:行者123 更新时间:2023-11-30 17:11:22 24 4
gpt4 key购买 nike

我正在尝试为以下C源代码编写一个quine程序:

#include<stdio.h>

char name[] = "Jacob Stinson";
int main(){
char *c="#include<stdio.h> char name[] = \"Jacob Stinson\"; int main(){char *c=%c%s%c; prinf(c,34,c,34);}";
printf(c,34,c,34);
}

我需要在字符串中的 " 之前包含反斜杠,以便正确打印第 3 行,但是,当我打印 *c 时,我希望这些反斜杠出现,以便正确复制源代码。目前它在输出中省略了反斜杠。

想看看是否有人知道如何做到这一点。

最佳答案

由于编译器仅在一个方向上解释转义序列(对它们进行转义),我认为不可能在代码中包含转义序列并使其在列表中出现。编译器始终会消除源文件输入中的反斜杠之一,使其在输出中显得不同。 printf使用%s格式以允许问题的递归部分并允许您搁置打印,并且正如您所猜测的那样,您必须对 " 使用整数版本的分隔字符。分隔字符。为什么使用%c如果有包含转义序列的替代方法,那么能够在程序中分隔字符串?出于同样的原因,我无法包含任何行尾分隔符,因此我在一行中编写了相同的问题(不使用 #include <stdio.h> 行)我的解决方案是一行(没有最后的行尾。)

关于c - 在C quine程序中打印反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32356392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com