我正在通过readline()从stdinput中读取字符串,如下:
char * cmdLine = readline();
我希望查看通过readline()生成的字符串的第一个字符是否为感叹号。但是代码
if(cmdLine[0]=="!")
这并不像我想象的那样工作。例如,如果从标准输入中获取的字符串为“!1”,那么它应该是真的。
cmdLine[0]=="!"
如果cmdLine是一个指向字符串的指针,那么我不能用数组括号查看字符串中的每个字符吗?我知道这是一个愚蠢的基础c/指针问题,但这确实让我困扰......
*string
),这相当于评估string[0]
,例如if (*string == '!')
(在你解决其他问题之后),并且请注意:单引号括起来的是字符,双引号括起来的是字符串。 - David C. Rankin