我需要比较字符串的元素。我尝试运行以下代码,但这不起作用。知道如何访问字符串元素并与字母表进行比较吗?
char* my_string = "Excellent";
if ( strcmp (my_string[0], "D") )
{
printf("\n\rThe First Element is D: \n\r");
}
if ( strcmp (my_string[0], "E") )
{
printf("\n\rThe First Element is E: \n\r");
}
最佳答案
my_string[0]
是一个 char
,应与 'D'
(另一个字符)进行比较,其中 ==
,不与“D”(字符串文字)与 strcmp
进行比较,仅适用于 ASCIIZ (以 null 结尾的)字符串。
另外,您应该(在 C++ 中至少必须)使用 const char* my_string = "Excellent";
,表明您无法更改文本 my_string
指向(大多数编译器会将其放入只读内存中,即使它们不这样做,您也不应该更改它,因为编译器有权假设它永远不会被更改。)。
关于c++ - 如何查找和比较字符数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68923570/