C语言程序到gets退不出来
求大神解决#include<stdio.h>
#include<string.h>
int main()
{
void str1(char str[]);
int compare(char str[],char buf[]); char str[100];
char buf[100];
int n=0;
str1(str);
gets(buf);
printf("@@@"); n=compare(str,buf); printf("\n%d\n",n);
return 0;
}
//调用它输入主字符串
void str1(char str2[])
{ int i=0;
scanf("%c",&str2[0]);
while(1) {
i++;
scanf("%c",&str2[i]); if(str2[i]=='\n')
{ str2[i]='\0'; break; }
}
printf("@@\n");
return;
}
int compare(char str[],char buf[])
{
char tmp[100][100];
int j=0,i=0;
while(1) {
tmp[i][j]=str[i];
if(str[i]==' ')
{
tmp[i][j]='\0'; i++; tmp[i][0]=' '; }
i++; j++;
if(str[i]=='\0') { break; }
}
while(1) { i=0; if(strcmp(buf,tmp[i])==0)
{ j=i+1; break; }
i++; }
return j; }