这个为啥运行不出来啊

#include <stdio.h>

#include <string.h>

void main()

{    

int i;

char *colour[]={"red", "blue", "yellow", "green", "black" };

    char str[50];

getchar();

scanf("%s",str);

for(i=0;i<5;i++)

if(strcmp(colour[i],str)==0)

{

     printf("%d\n",i+1);

     break;

}

if (i==5)

printf("Not Found\n");

}


慕粉1637296256
浏览 1187回答 3
3回答

nisonGe

getchar()这个调用略显多余。你去掉试试。如果不去掉的话,每次输入之前都需要输入一次回车,然后再输入字符串,这样才会匹配到结果。

想长高的小孩

对了,这个主函数应该不能用无返回值的,要用int

想长高的小孩

你这个错误好多啊,字符型指针不能用野址,而且输入字符时,要么是一起输入,要么是一个字符一个字符的输入,又不是二维的,一维的没法这样输入,“redbuleyellow”或者'r','e'这样输入,然后后面比较字符串的大小,第一个是直接字符常量和第二个一个字符组比较大小,两个类型都不同,一个是地址名,一个是常量,所以我觉得这个整个都要改,个人看法,希望对你有点帮助吧,可能有的我不知道的东西以为你也是错的,见谅;
打开App,查看更多内容
随时随地看视频慕课网APP