摘自 http://www.iteye.com/topic/790388

#include<stdio.h>
int strcmp(const char *str1,const char *str2)
{
/* 注释以下的五行(while循环)可以简写为:
* for(;(*str1==*str2)&&*str1!='\0';str1++,str2++);
*  */
while((*str1==*str2)&&*str1!='\0')
{
str1++;
str2++;
}
if(*str1=='\0'&&*str2=='\0') return 1;
else return -1;
}
int main()
{
char *st1="abdefg";
char *st2="abcdefg";
printf("%d\n",strcmp(st1,st2));
char *st3="12345";
char *st4="12345";
printf("%d\n",strcmp(st3,st4));
return 0;
}
#include<stdio.h>
int strcmp(const char *str1,const char *str2)
{
while(str1!=NULL&&str2!=NULL)
{
while(*str1++==*str2++)
{
if(*str1=='\0'&&*str2=='\0') return 1;
}
return -1; //不等的情况
}
return -2; //有指针为空的情况
}
int main()
{
char *st1="abdefg";
char *st2="abcdefg";
printf("%d\n",strcmp(st1,st2));
char *st3="12345";
char *st4="12345";
printf("%d\n",strcmp(st3,st4));
char *st5="xyz",*st6=NULL;
printf("%d\n",strcmp(st5,st6));
return 0;
}

在下在gcc的编译器当中编译通过。

strcmp函数的两种实现相关推荐

  1. 从用户的角度看 c语言中函数有两种,【南开大学】20秋学期(1709、1803、1809、1903、1909、2003、2009 )《C语言程序设计》在线作业答卷...

    20秋学期(1709.1803.1809.1903.1909.2003.2009 )<C语言程序设计>在线作业 试卷总分:100  得分:100 一.单选题 (共 40 道试题,共 80 ...

  2. java random构造方法_Java中的Random()函数及两种构造方法

    Java中存在着两种Random函数: java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是 ...

  3. c++STL中的find()函数 有两种使用方法

    c++STL中的find()函数 有两种使用方法 方法一: 开头引头文件:中的函数 其调用形式为 find(start,end,value) start搜寻的起点,end搜寻的终点,要寻找的value ...

  4. JavaScript函数的两种声明方式,你了解多少?

    函数的两种声明方式 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

  5. js定义函数的两种形式及区别

    定义函数有两种方法: (1)函数表达式方式 let myFun=function(){console.log("当前是函数表达式"):} (2)函数声明形式 function my ...

  6. 一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法

    一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法 第一种方法–向body动态写入div标签调用css效果显示: (新建***.jsp放在WebContent根目录下直接访问ip ...

  7. 【v-on】一个元素绑定多个事件以及一个事件绑定多个函数的两种写法

    本文代码主要讲述了v-on绑定事件函数传参,一个元素绑定多个事件的两种写法,一个事件绑定多个函数的两种写法,修饰符的使用. <!DOCTYPE html> <html lang=&q ...

  8. 在c语言程序设计中函数有两种类型 和,在C语言程序设计中函数有两种类型:__________和__________...

    在C语言程序设计中函数有两种类型:__________和__________ 以下程序的输出结果是()intA:6B:3C:2D:1 红楼梦中提到的名菜有A:酒酿清蒸鸭子B:奶油松瓤卷酥C:四喜丸子D ...

  9. 在高数中学到的sinc函数有两种定义

    今天终于开通我的blog了,高兴呀! 作为开通的第一贴,写写今天上午在编程时遇到的让人又气又恼的问题,记录下来,供大家分享,同时也警示自己 在高数中学到的sinc函数有两种定义: sinc函数定义为: ...

最新文章

  1. vue 新手指引_精通react/vue组件设计之快速实现一个可定制的进度条组件
  2. 从理论到工具 - 带你全面了解自动化测试框架
  3. 极大似然估计的理解与应用
  4. Linux 交换eth0和eth1
  5. hadoop+hive+spark搭建(一)
  6. android输出log,Android开发 Release情况下也能输出log
  7. 运维利器-ClusterShell集群管理操作记录
  8. .net导出Excel
  9. Android手机中怎么样在没root的情况下 修改 hosts 文件
  10. python matplotlib库安装出错_使用pip install Matplotlib时出现内存错误
  11. 在 React 中使用 TypeScript
  12. C++实现的大整数分解Pollard's rho算法程序
  13. 纵坐标是横的还是竖的_通感在书法“竖”中的运用,详解竖的知识和技法(硬笔为例)...
  14. 如何在python中输入复杂的数学公式_如何快速输入复杂的数学公式?这里有 3 个实用技巧...
  15. 搭建iis自己可以别人_自己也可以搭建一台好用实惠的软导一体机!
  16. 版本 87.0.4280.66_iOS 14.2 Beta 2发布,修复闪退与优化改进
  17. Java基础学习——操作系统批处理(操作系统命令)
  18. k近邻算法_图穷匕见:K近邻算法与手写数字识别
  19. 005 GO-高级数据类型(结构体和方法)
  20. 轻生之事折射家庭教育之殇

热门文章

  1. java中国象棋棋盘放置棋子,Qt中国象棋二——棋盘与棋子的绘制
  2. FMX探索之IMAGE控件上输出
  3. PotPlayer播放蓝光片源及如何硬解码和音频源码输出
  4. 西门子PLC1200/1500配方实例程序
  5. latex 矩阵叫行列编号
  6. MATLAB2016笔记(九):概率统计( 概率密度、统计作图、统计特征、累积概率分布、随机变量产生)
  7. 台式计算机耳机有杂音怎么办,耳机有杂音,小编教你电脑耳机有杂音怎么办
  8. 导出Excel—外部表不是预期的格式
  9. 软件工程专业大学生的一年半 | 2022年度总结
  10. 【2022年9月】237条微信内置浏览器UA