gpt4 book ai didi

c - 如何让char为空?

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:39 27 4
gpt4 key购买 nike

所以这就是我为测试 ubuntu 的 windows 子系统而写的:

#include <stdio.h>

int () {
char a = '\0';
printf("H%cello World\n",a);
return 0;
}

我编译了它,然后运行了程序。它显示:

 USER@DESKTOP-blahblah~/dir/%./a.out
H ello World

????

截图供引用: https://gyazo.com/c25c4214f00e90c8e123f45e84ca1964

编辑:::

我以为

 USER@DESKTOP-blahblah~/dir/%./a.out
Hello World

最佳答案

 char a = '\0';
printf("H%cello World\n",a);

a 是空字符,不是空字符。事实上,没有空字符这样的东西。 printf 调用将打印 H,后跟一个空字符,然后是 "ello World",再后跟一个换行符。

在我的系统(Ubuntu、xterm)上,当我运行你的程序(修复后)时,我看到:

Hello World

因为我碰巧使用了一个忽略空字符的终端模拟器。您显然使用的是打印空格或在打印空字符时仅使光标前进的字符。

不,没有任何值可以设置a 来使您的程序只打印Hello World

如果您想修改您的程序以使用一个空的字符串(它确实存在)而不是一个空的字符(它不存在),您可以:

#include <stdio.h>
int main(void) {
char empty[] = "";
printf("H%sello World\n", empty);
}

关于c - 如何让char为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575041/

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