#include<stdio.h>
#include<stdlib.h> int main(){
setvbuf(stdout,NULL,_IONBF,);
char s1[],s2[];
int strcmp(char *,char *);
int result; printf("1st string:");
gets(s1);
printf("2nd string:");
gets(s2);
result=strcmp(s1,s2);
printf("The comparing result is %d.",result); return EXIT_SUCCESS;
} int strcmp(char *p1,char *p2){
int i;
int result; result=; //先假设两个字符串相等,比较结果为0
for(i=;*(p1+i)&&*(p2+i);i++) //比较两个字符串中的对应字符都不为\0的情况
{
if(*(p1+i)!=*(p2+i))
{
result=*(p1+i)-*(p2+i);
break;
}
} //若两个字符串的长度不相等,但有字符的部分是完全相同的,退出上述循环后,result还是0
if(result==)
result=*(p1+i)-*(p2+i);
return result;
}

下面是谭浩强的答案,比较简单。我还是不能灵活运用while语句

 #include<stdio.h>
#include<stdlib.h> int main(){
setvbuf(stdout,NULL,_IONBF,);
char s1[],s2[];
int strcmp(char *,char *);
int result; printf("1st string:");
gets(s1);
printf("2nd string:");
gets(s2);
result=strcmp(s1,s2);
printf("The comparing result is %d.",result); return EXIT_SUCCESS;
} int strcmp(char *p1,char *p2){
int i=;
int result; while(*(p1+i)==*(p2+i))
if(*(p1+i++)=='\0')
result=;
result=*(p1+i)-*(p2+i); return result;
}

写一个函数,实现两个字符串的比较。即实现strcmp函数,s1=s2时返回0,s1!=s2时返回二者第一个不同字符的ASCII值。的更多相关文章

  1. 给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数。 (即,使用函数rand5()来实现函数rand7())

    给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数. (即,使用函数rand5()来实现函数rand7()). 解答 rand5可以随机生成1,2,3,4,5:rand7可以随机生成1 ...

  2. 【C语言】创建一个函数,利用该函数将两个字符串连接起来

    代码: #include<stdio.h> ], ]) { int i, j; ; c[i] != '\0'; i++); ; d[j] != '\0'; j++) { c[i++] = ...

  3. 有关C#写一个WindowsService的两篇文章

    1.http://blog.csdn.net/yysyangyangyangshan/article/details/10515035 上面的这篇文章一共两段,第二段讲的是使用代码来安装发布这个Win ...

  4. 自己写一个strcmp函数(C++)

    题目说明: 写一个函数,实现两个字符串的比较.即自己写一个strcmp函数,函数原型为int strcmp( char * p1, char * p2); 设p1指向字符串s1,p2指向字符串s2.要 ...

  5. [google面试CTCI] 1-4.判断两个字符串是否由相同字符组成

    [字符串与数组] Q:Write a method to decide if two strings are anagrams or not 题目:写一个算法来判断两个字符串是否为换位字符串.(换位字 ...

  6. ytu 1052: 写一函数,将两个字符串连接(水题,指针练习)

    1052: 写一函数,将两个字符串连接 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 343  Solved: 210[Submit][Status][ ...

  7. 005推断两个字符串是否是变位词 (keep it up)

    写一个函数推断两个字符串是否是变位词. 变位词(anagrams)指的是组成两个单词的字符同样,但位置不同的单词.比方说, abbcd和abcdb就是一对变位词 这也是简单的题. 我们能够排序然后对照 ...

  8. PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0

    PHP中,比较两个字符串是否相等用:strcmp(): PHP strcmp() 函数 PHP String 函数 定义和用法 strcmp() 函数比较两个字符串. 该函数返回: 0 - 如果两个字 ...

  9. c#:对两个字符串大小比较(不使用c#/java内部的比较函数),按升序排序

    题目:首先需要实现一个函数:两个字符串大小比较(不得使用c#/java系统函数)的自定义函数:之后对一个字符串数据进行按升序排序(在排序过程中使用字符串大小比较时,使用自定义的字符串大小比较函数). ...

随机推荐

  1. Objective-C 【@property 的参数问题】

    ------------------------------------------- @property参数 总的来说,这是一种编译器的特性(在生成@property的时候为@property添加相 ...

  2. linux 信号列表和基本作用

    我们运行如下命令,可看到Linux支持的信号列表: $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7 ...

  3. ionic项目相关的操作命令

     更新npmD:\Program Files\npm-3.9.0\npmnode cli.js install npm -gf vs安装 更新node.js  windows版直接从官网下载安装包 n ...

  4. DFS入门之二---DFS求连通块

    用DFS求连通块也是比较典型的问题, 求多维数组连通块的过程也称为--“种子填充”. 我们给每次遍历过的连通块加上编号, 这样就可以避免一个格子访问多次.比较典型的问题是”八连块问题“.即任意两格子所 ...

  5. mongodb gdal 矢量数据格式驱动

    写了个mongodb的gdal driver,放在了github上,如果你需要,欢迎加入mongogis group. 直接的效果是使得QGIS, GeoServer, MapServer, ArcG ...

  6. const char *p、char const *p、char * const p的区别?

    const char *p和char const *p是一样的,都表示定义一个指向字符常量的指针,指针的内容(字符)不可变.char * const p表示一个指向字符的指针常量,字符可以改变,但是指 ...

  7. CSS3选择器:nth-child和:nth-of-type之间的差异

    CSS3选择器:nth-child和:nth-of-type之间的差异 这篇文章发布于 2011年06月21日,星期二,23:04,归类于 css相关. 阅读 57546 次, 今日 143 次 by ...

  8. c# WinForm 编程总结

    1.清空DataGridView /// <summary> /// 清空DataGridView /// </summary> /// <param name=&quo ...

  9. Redis 一:安装篇

    .安装环境,虚拟机 + centos6. PS::前提已经安装了yum的情况下 第一步:安装 mkdir /usr/redis 新建redis目录 cd /usr/redis 进入目录 wget ht ...

  10. Android关于buildToolVersion与CompileSdkVersion的区别

    StackOverFlow中对这个问题进行了详细的讨论:http://stackoverflow.com/questions/24521017/android-gradle-buildtoolsver ...