在我的代碼中,我想使用表示Will,Bob,Billy,Ryan或Ed而不是int的字符串。具體來說,使用N個字符串S [1],S [2] ... S [N],其中S [I]是上面的名稱。如果你想比較字符串,這不是要走的路(1≤N≤100,000)C:將int轉換爲字符串
#include <stdio.h>
int main(void)
{
int input_num=0;
int isWill = 0;
int isBob = 0;
int isBilly = 0;
int isRyan = 0;
int isEd = 0;
int n=0;
scanf("%d", input_num);
printf("%d", input_num);
for(n;n<input_num;n++)
{
char tmp[100,000];
scanf("%s", tmp);
if(tmp == "Will")
isWill = 1;
else if(tmp == "Bob")
isBob = 1;
else if(tmp == "Billy")
isBlue = 1;
else if(tmp == "Ryan")
isRyan = 1;
else if(tmp == "Ed")
isEd = 1;
}
//end of input
if(isWill == 0)
printf("Will\n");
if(isBob == 0)
printf("Bob\n");
if(isBilly == 0)
printf("Billy\n");
if(isRyan == 0)
printf("Ryan\n");
if(isEd == 0)
printf("Ed\n");
return 0;
}
那麼,最新的問題是什麼? – Borna 2014-10-03 21:57:07
您需要更新isWhite to isWill等等...還可以嘗試使用枚舉,因爲它們可以幫助在int和字符串之間切換 – Honorificabilitudinitas 2014-10-03 21:57:21
您告訴我們您想使用什麼,但實際上並未提出問題。你的代碼不能編譯?什麼是錯誤信息?還是它沒有做你想做的事?它有什麼作用?你想要它做什麼?你在哪裏定義「isWhite」等?你爲什麼要設置「isWhite」,但測試「isWill」?如果你設置了'isWhite = 1',你爲什麼要測試'if(isWill == 0)'?那些測試相反的事情。 – 2014-10-03 21:57:26