c++ - 'W' 打印出 W, "W"打印出 $。为什么?

标签 c++ c codeblocks

我是初学者。我不知道为什么?我正在使用 Code::Blocks。请阅读以下代码:


enter image description here
enter image description here
enter image description here
enter image description here



如果 q=' W ',则打印出 W
如果 q=" W ",则打印出 $

最佳答案

文字 "W" 不是单个 char,而是由 'W' 组成的以 null 结尾的字符串'\0'

获得所需行为的一种方法是分配给 const char* 并使用 %s 打印

const char* q = "W";
printf("%s", q);

正如评论中所指出的,您可以通过提高编译器的警告级别来捕获此类错误。

关于c++ - 'W' 打印出 W, "W"打印出 $。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928448/

相关文章:

c++ - 在 FTP 服务器中正确实现 LIST 命令

c++ - 按数字排序

c++ - 如何发送封装在类中的回调函数上的指针

c - 模拟 'strings' UNIX 命令的 C 程序运行时崩溃

在C中使用fork()创建特定的进程树

c - 使用指向指针的指针有什么意义?

eclipse - 我在哪里保存我的 C 代码在 Ubuntu 上

c++ - 如何使用代码块 Ubuntu 编译 64 位 C++ 程序

c++ - cout set_precision(5) + fixed 和 printf 之间的区别 ("%lf.5",var)

代码运行正常但调试给出 "Segmentation fault"