在以下函數中在布爾結果中添加Char和布爾表達式結果?
語句s[i] + s[i] == c;
的結果爲零或一個(布爾結果)。
我的問題:將上述表達式轉換爲布爾表達式嗎?它正在考慮價值s[i]
void func(char s[], int c)
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++)
if (s[i] != c)
s[j++] = s[i] + s[i] == c;
s[j] = '\0';
}
C有'bool'類型(def),在'stdbool.h'中定義爲'_Bool'。然而'=='運算符的結果是'int'而不是'bool'。 – 2011-03-23 18:04:25
@R ..必須注意'_Bool'在C99中可用,並且在使用C的其他方言時可能不可用。在Objective-C中(C的嚴格超集)有'BOOL'。 – 2011-03-23 18:06:15
@R:是的,你是對的。讓我更新。 – 2011-03-23 18:06:45