注册 登录
编程论坛 C语言论坛

为什么会出现无法输入的情况?

kicnb 发布于 2021-11-22 17:42, 828 次点击
#include<stdio.h>
int main()
{
int strcmp(char *p1,char *p2);
char a[10],b[10];
int c;
printf("input two strings:\n");
scanf("%s",a);
scanf("%s",b);
c=strcmp(a,b);
printf("%d",c);
}
int strcmp(char *p1,char *p2)
{int c,size,i;
for(i=0;i<10||size==5;i++)
{c=*(p1+i)-*(p2+i);
if(c!=0)size=5;
}
return c;
}
1 回复
#2
apull2021-11-22 20:55
因为你的strcmp是个死循环。
int strcmp(unsigned char *p1,unsigned char *p2)
{
    int c=0,size,i;
    for(i=0; *p2 && !c;p1++,p2++)
    {
        c=*p1-*p2;
    }
    return c;
}


[此贴子已经被作者于2021-11-22 21:14编辑过]

1