我已經寫了一些簡單的代碼作爲SSCCE,我想檢查是否輸入的字符串等於我在一個字符指針數組定義的字符串,所以它應該指向字符串並給我一個結果。我沒有得到任何警告或錯誤,但我只是沒有得到任何結果(無論是「真」或「假」)檢查在C柱的平等和打印答案
是有什麼與別人的scanf被掃描?終止符號什麼的?我只是不能夠得到它打印出true或false
代碼:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define LENGTH 20
//typedef char boolean;
int main(void)
{
const char *temp[1];
temp[0] = "true\0";
temp[1] = "false\0";
char var[LENGTH];
printf("Enter either true or false.\n");
scanf("%s", var);
if(var == temp[0]) //compare contents of array
{
printf("\ntrue\n");
}
else if(var == temp[1]) //compare contents of array
{
printf("\nfalse\n");
}
}
你不'比較C字符串==','不過strcmp',對於初學者... – AntonH
啊,我想盡可能多的,而不是有沒有辦法用=比較還有呢?我可能在這裏誤導了另一個答案 – shellcoder
不,沒有。還有其他的錯誤,但我沒有解決這些問題,因爲你的問題是關於字符串的比較。 – AntonH