Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual studio C++;不带声明的字符串比较_C++_String_Visual Studio_Visual Studio 2010_Visual Studio 2012 - Fatal编程技术网

C++ Visual studio C++;不带声明的字符串比较

C++ Visual studio C++;不带声明的字符串比较,c++,string,visual-studio,visual-studio-2010,visual-studio-2012,C++,String,Visual Studio,Visual Studio 2010,Visual Studio 2012,我想了解以下代码在Microsoft visual studio C/C++(2012版)中的结果。事实上,当生成解决方案时,结果是“1”(True)。但是,在ASCII表格中,单词“a”小于单词“z”。因此,结果应该是“0”(False)。即使我把运算倒过来,意思是(“z”>“a”)。结果是“1”。我也尝试了这个操作(“a”

我想了解以下代码在Microsoft visual studio C/C++(2012版)中的结果。事实上,当生成解决方案时,结果是“1”(True)。但是,在ASCII表格中,单词“a”小于单词“z”。因此,结果应该是“0”(False)。即使我把运算倒过来,意思是(“z”>“a”)。结果是“1”。我也尝试了这个操作(“a”<“z”)和(“z”<“a”),结果都是“0” 谁能告诉我发生了什么事

#include <iostream>
#include <string>

using namespace std;

int main()
{
    cout <<  ("a" >  "z") << endl;
}
#包括
#包括
使用名称空间std;
int main()
{

cout“z”)您的代码几乎与您编写的代码相同:

const char s1[2] = {'a'};
const char s2[2] = {'z'};

int main()
{
    cout << (s1 < s2) << endl;
}
const char s1[2]={'a'};
const char s2[2]={'z'};
int main()
{

CUT是一个指针,比较字符串的地址,而不是它们的内容。在SO中查看这个问题。这是关于C的,但是C++中的行为是相同的。