在我的代码中,我想使用表示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