当前位置: 代码迷 >> C语言 >> 编程实现strcmp的功能
  详细解决方案

编程实现strcmp的功能

热度:212   发布时间:2006-11-29 20:05:55.0
编程实现strcmp的功能

#include<stdio.h>
int strcmp(char a[50],char b[50])
{
int i,j=0,t=0;
for(i=0;i<30;i++)
{
j=j+'a[i]';
t=t+'b[i]';
}
if(j<t)
return -1;
else if(j=t)
return 0;
else
return 1;
}
void main()
{
int str;
char str1[50],str2[50];
printf("input some words:\n");
scanf("%s",&str1);
printf("input some words again:\n");
scanf("%s",&str2);
str=strcmp(str1,str2);
printf("%d",str);
}
这是我写的程序,run不出来。此题是为了编程实现函数strcmp的功能

搜索更多相关的解决方案: strcmp  

----------------解决方案--------------------------------------------------------
以下是引用小笑孩在2006-11-29 20:05:55的发言:

#include<stdio.h>
int strcmp(char a[50],char b[50])
{
int i,j=0,t=0;
for(i=0;i<30;i++)
{
j=j+a[i]; /*没有引号*/
t=t+b[i];

}
if(j<t)
return -1;
else if(j=t)
return 0;
else
return 1;
}
void main()
{
int str;
char str1[50],str2[50];
printf("input some words:\n");
scanf("%s",str1);
printf("input some words again:\n");
scanf("%s",str2);
str=strcmp(str1,str2);
printf("%d",str);
}
这是我写的程序,run不出来。此题是为了编程实现函数strcmp的功能

[此贴子已经被作者于2006-11-29 20:12:33编辑过]


----------------解决方案--------------------------------------------------------
而且还有一个问题,在
int strcmp(char a[50],char b[50])
{
int i,j=0,t=0;
for(i=0;i<30;i++)
{
j=j+a[i]; /*没有引号*/
t=t+b[i];
}
if(j<t)
return -1;
else if(j=t)
return 0;
else
return 1;
}
中,不能只计算各字符串的和值(j与t),否则
字符串"123"就与"321"结果判断两字符串相同
----------------解决方案--------------------------------------------------------
  相关解决方案