wiliam 发表于 2014-4-8 23:32:30

一段c语言代码



#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
int i,c;
char b="123456";
char array;
for(i=0;i<6;++i)
{if(i==10)
{
printf("长度超过10");
i=0;
continue;
}
if(c==13)
{
break;
}
array=getch();
printf("*");
}
if(strcmp(b,array)==0)
{
printf("你真厉害");}
return 0;
}为什么我输入了正确的答案还是无法正确显示? 求大神解答..












啃啃 发表于 2014-4-9 10:33:18

array=getchar()    还有你的前两个判定条件多余       加群C语言起步者/n184440672

yuxianhui 发表于 2014-4-9 11:10:56

你写的这是什么啊,没看懂啊:dizzy:

呵123 发表于 2014-4-9 12:22:14

是getchar()
还有,你写的有一点乱。。

wiliam 发表于 2014-4-9 13:03:17

getch 是getch   getchar是getchar ........

紫月冰蓝 发表于 2014-4-9 15:23:46

本帖最后由 紫月冰蓝 于 2014-4-9 15:26 编辑

for(i=0;i<6;++i)
{if(i==10)//因为I<6 所以I不可能等于10 这年条件永远不成立啊
{
printf("长度超过10");
i=0;
continue;
}
if(c==13)// 这个c值哪来的?没有说明啊
{
break;
}
array=getch();//getchar()?
printf("*");
}

wiliam 发表于 2014-4-9 18:45:47

我已经解决了... 原来是没初始化数组   


#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
int i,c;
char b[]="abcdef";
char array={0}; //初始化数组
for(i=0;i<6;i++)
{
array=getch();
printf("*");
}
if(0 == strcmp(b,array))
{
printf("你真厉害");
}
else{
printf("you are good");}
return 0;
}

杨学子 发表于 2014-4-9 19:56:02

#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
{
int i,c;
char b="123456";
char array={0};
for(i=0;i<6;++i){
if(c==13)
{
break;
}
array=getch();
printf("*\n");
}
if(strcmp(b,array)==0)
{
printf("你真厉害");
}
return 0;
}

杨学子 发表于 2014-4-9 19:56:36

上面的仁兄说了未赋值。。。。

dnf123021 发表于 2014-4-9 20:51:20

好多热心人呀。。真是好~~~
页: [1]
查看完整版本: 一段c语言代码