请大家帮忙看看
#include <stdio.h>#include<malloc.h>
#define max 100
typedef struct string
{
char ch[max];
int len;
}S;
S creat()
{
char c;
S s;
int i=0;
s.len=0;
printf("请输入字符:\n");
scanf("%c",&c);
while(c!='!')
{
s.ch[i]=c;
i++;
s.len++;
printf("%d",s.len);
scanf("%c",&c);
}
s.ch[i]='\0';
return s;
}
void strequal(S s,S t)
{
int i;
printf("s:%d",s.len);
printf("t:%d",t.len);
if(s.len!=t.len)
{
printf("字符串不相等\n");
}
else
{
for(i=0;i<s.len;i++)
{
if(s.ch[i]!=t.ch[i])
printf("字符串不相等\n");
else
printf("字符串相等\n");
}
}
}
int main(int argc, char *argv[])
{
S s,t;
s=creat();
t=creat();
strequal(s,t);
return 0;
}
为什么两次输入同样的字符串显示的长度不同