我想編寫一個C程序來啓動OS X El Capitan上的特定功能。 代碼如下所示:比較變量和字符串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char mainchoice;
printf(">>> ");
scanf("%s", &mainchoice);
if (strcmp(&mainchoice, "start ftp") == 0) {
system("ftp");
}
else if (strcmp(&mainchoice, "start say") == 0) {
system("say hello");
}
else {
system("say Error")
}
}
這只是一個示例代碼。
當我運行它時,它總是通過say命令說錯誤。我究竟做錯了什麼?
你知道'char mainchoice'是什麼意思嗎? – haccks
'mainchoice'是*一個*字符。您正嘗試將整個字符串讀入其位置,導致未定義的行爲。 –
@EugeneSh。那麼我能做些什麼才能使它工作? – luistripa