for(int i = 4 * scale; i > 0; i--) {
x = -1 * i + 6;
c = string(x, '/\\'); // Why Won't you work! It only prints the "\" no "/"
cout << "\\_" << c << "/\\" << c << "_/" << endl;
}
上面是我的代码的一部分。我的问题是为什么它只打印\符号而忽略/一个。如果有人能回答这个问题,我将不胜感激,如果您需要我可能忘记留在这篇文章中的更多信息,请发表评论,我会将其添加到文章中
最佳答案
一个字符常量中的字符不能超过一个。
您使用的编译器似乎将双字符常量视为双字节整数,其中高字节是字符/,低字节是字符\。当您将它分配给 char 时,较高的字节会丢失,就像在正常的 int-to-char 分配中一样。这就是为什么你只得到最后一个字符。
关于C++ 字符串函数只返回某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291170/