在C中,我有一个字符数组:
d[20]
Run Code Online (Sandbox Code Playgroud)
使用空终止字符为"if"赋值:
d[0]='i'
d[1]='f'
d[2]='\0'
Run Code Online (Sandbox Code Playgroud)
该值应strcmp(d,"if")为0吗?为什么?
我希望strcmp返回值0.当我运行它时,我得到值-1
如果你的意思d[0] = 'i'; d[1] = 'f'; d[2] = '\0';是,那么应该返回0. d[2] = '/0'将分配一些完全不同的东西,你的字符串将不会被终止.至少不是你预期的那样 - strcmp可能会进入杂草并开始吸泥.