简单的C语言题,帮我改下错误吧,谢谢~

来源:百度知道 编辑:UC知道 时间:2024/05/08 09:51:43
题目:试编写一个字符串操作函数,输入参数为两个字符串stringA和stringB。如果两个字符串相同,则返回0;按字典排序,如果stringA排在stringB之前,则返回1;如果stringB排在stringA之前,则返回2.

我的代码,有错误啊~:
#include "stdio.h"
#define Length 10
int Compare(char string1[],char string2[]);
int StringLength(char string1[],char string2[]);
int length;

void main()
{
char stringA[Length];
char stringB[Length];
int result;

printf("Input stringA:");
scanf("%s",stringA);
printf("Input stringB:");
scanf("%s",stringB);

length=StringLength(stringA,stringB);
result=Compare(stringA,stringB);
printf("%d",result);
}

int Compare(char string1[],char string2[])
{
int index=0;
int result;

while(string1[index]==string2[index]&&index<length)
{
index=index+1;
}

if(string1[index]<string2[index])
result=1;

程序帮你改好了,在长度的子程序中index1没有初始化:
#include "stdio.h"
#define Length 10
int Compare(char string1[],char string2[]);
int StringLength(char string1[],char string2[]);
int length;

void main()
{
char stringA[Length];
char stringB[Length];
int result=0;

printf("Input stringA:");
scanf("%s",stringA);
printf("Input stringB:");
scanf("%s",stringB);

length=StringLength(stringA,stringB);
result=Compare(stringA,stringB);
printf("%d",result);
}

int Compare(char string1[],char string2[])
{
int index=0;
int result;

while(string1[index]==string2[index]&&index<length)
{
index=index+1;
}

if(string1[index]<string2[index])
result=1;
else
if(string1[index]>string2[index])
result=2;
else
result=0;

ret