求大佬康康
写一个程序模仿 strncmp 函数的实现比较两个字符串 s1 和 s2,需要满足以下要求。8yv64-wQBUq}Q o5_KFIE>Ym+uCf&i8["<Jj
要求 A:如果 s1 > s2,输出一个正数,值是两个不同字符的差;r^g5eX
要求 B:如果 s1 = s2,输出 0;A!gzLGit
要求 C:如果 s1 < s2,输出一个负数,值是两个不同字符的差。
#include <stdio.h>
#include <windows.h>
#define MAX 1024
int main()
{
unsigned int n;
int i = 0;
char str1;
char str2;
printf("Çëêäèëμúò»¸ö×Ö·û′®£o");
while(str1 = getchar() != '\n')
{
i++;
}
i = 0;
printf("Çëêäèëμú¶t¸ö×Ö·û′®£o");
while(str2 = getchar() != '\n')
{
i++;
}
printf("Çëêäèë±è½ÏμÄ×Ö·ûêy£o");
scanf("%u", &n);
for(i = 0; i < n; i++)
{
if(str1 - str2)
{
break;
}
}
printf("μú%d¸ö×Ö·ûÏà2î:%d\n", i + 1, str1 - str2);
system("pause");
return 0;
}
上面是自己写的,为啥显示的结果总是0呢? 可以试试看:#include <stdio.h>
int compare(const char *A, const char *B){
int i;
for(i = 0; A || B; i++) if(A != B) break;
return A - B;
}
int main()
{
char A = "Hello";
char B = "Hello";
char C = "World";
printf("compare A and B = %d\n", compare(A, B));
printf("compare B and C = %d\n", compare(B, C));
return 0;
}compare A and B = 0
compare B and C = -15 傻眼貓咪 发表于 2022-2-12 17:44
可以试试看:
我是while里面有个括号忘记打了 看我表演了 发表于 2022-2-13 12:57
我是while里面有个括号忘记打了
{:10_277:}{:10_277:}{:10_254:} 傻眼貓咪 发表于 2022-2-13 13:02
{:10_245:}{:10_282:}
页:
[1]