进来小看一眼,这个bug实在是....谢了
先说题目:输入一串字符找到最短的字符并输出,并且如果最短字符有多个,只输出第一个;
上代码:
程序代码:#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
int d[100],i,j,k,h,u,zhi=0,flag=0,min=1000,b[50],gg,zhen;
gets(a);
u=strlen(a);
b[0]=0;
for(i=0,k=0;i<u;i++){
if(a[i]!=' '){
flag++;
d[k]=flag;
}
else if(a[i]==' '){
k++;
b[k]=flag+1;
flag=0;
}
}
for(j=0;j<k;j++){
if(min>d[j])
{min=d[j];h=b[j];}
}
for(gg=h;gg<min+h;gg++){
printf("%c",a[gg]);
}
printf("\n");
printf("%d %d %d",min,h,k);
return 0;
}
问题来了,输入happy new yeari love you
都没有问题,就是输入who am i时输出的居然是am!!!!!!
这道题已经AC了,但是没有意义,求指导,,,,









