问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include <stdio.h>
int strmycat(char* s, char* t);
int main()
{
char s1[201], s2[101];
gets_s(s1);
gets_s(s2);
printf("%d", strmycat(s1, s2));
return 0;
}
int strmycat(char* s, char* t)
{
int flag = 0;
for (int i = 0; i < 201; i++)
{
if (t[i] == s[i])
flag = 0;
else {
flag=(int)s[i]-(int)t[i];
break;
}
}
return flag;
}
运行结果及报错内容
我的解答思路和尝试过的方法
int strmycat(char* s, char* t)
{
int a = sizeof(s), b = sizeof(t);
int max = a;
if (b > max)
max = b;
int flag = 0;
for (int i = 0; i < max; i++)
{
if (t[i] == s[i])
flag = 0;
else {
flag=(int)s[i]-(int)t[i];
break;
}
}
return flag;
}
这样就是对的。为啥啊