题目:字符串的比较。编一程序,将两个字符串s1和s2比较,
若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。
两个字符串用gets函数读入。两个字符串的长度不超过1000。
输出的正数或负数应是相比较的两个字符串相应字符的ASCII码的差值。
如果两个字符串中有多个相应的字符不等,则取第一次相应不等的字符串的差值。
例如,“A”与“C”相比,由于“A”<“C”,应输出负数,同时由于‘A’与‘C’的ASCII码差值为2,因此应输出“-2”。
同理:“And”和“Aid”比较,根据第2个字符比较结果,“n”比“i”大5,因此应输出“5”。
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include <stdio.h>
#include <string.h>
int main()
{
char a[100] = { 0 };
char b[100] = { 0 };
puts("输入两串字符串:");
gets_s(a);
gets_s(b);
char* pa = a;//指向数组第一个元素首地址
char* pb = b;
while (*pa != '\0' && *pb != '\0')
{
if (*pa == *pb)//如果前一个字符相等,就继续比较下一个
{
pa++;
pb++;
}
else
{
printf("%d\n", *pa - *pb);//不相等就相减后跳出循环
break;
}
}
return 0;
}