因此,我不確定是否應該嘗試將argv [1]轉換爲int,或者是否可以將其保留爲char。但是我很難讓argv按照我想要的方式行事。將argv [1]存儲爲char或int中的C
我的終端輸入將看起來像這樣:
./a.out a
其中的argv [1]可以是一個 '一' 或 'd'。
問題:試圖通過傳遞給它當if語句如:
int main(int argc, char *argv[])
{
char *letter;
letter=argv[1];
printf(" %s %s ", argv[1], letter); //THIS prints correctly
//However, even when the input IS 'a', it will still print this:
if(letter != "a" || letter != "d")
printf("Input letter not 'a' or 'd'\n");
else{//More stuff//}
}
我得到的各種錯誤,當我試圖修復它自己。我看到一些解釋argv [1] [0]並使用atoi的線程,但是在玩了它之後,我無法打印出來。
您正在使用C或C++只寫?他們是不同的語言,有不同的答案。請不要標記兩者,除非問題具體是關於差異。 – aschepler
對不起,這只是在C.我刪除了標籤,謝謝澄清! – Marcus
使用'strcmp'比較字符串。不要以你的方式比較指針。 –