精华内容
下载资源
问答
  • 例题:输入两个字符串str1和str2,用函数实现两个字符串的比较,当两串相等时返回0,当两串不相等时,则输出两串中第一个不相同字符的ASCII码值之,若str1>str2则返回正数,若str1<str2则返回负值。 如:str...

    例题:输入两个字符串str1和str2,用函数实现两个字符串的比较,当两串相等时返回0,当两串不相等时,则输出两串中第一个不相同字符的ASCII码值之差,若str1>str2则返回正数,若str1<str2则返回负值。

    如:str1=”abce”,str2=”abfe”,则str1<str2,返回-3(c-f=3)。

    #include<stdio.h>
    #define MAXSIZE 80
    int main()
    {
         int cmpstr(char* ar,char *sr);
         char str1[MAXSIZE];
         char str2[MAXSIZE];
         printf("请输入串str1和str2:\n");
         gets(str1);
         gets(str2);
         printf("比较结果:%d\n",cmpstr(str1,str2));
         return 0;
    }
    int cmpstr(char* ar,char *sr)
    {
        int i=0;
        while(ar[i]==sr[i]&&ar[i]!=0&&sr[i]!=0)   i++;
        return ar[i]-sr[i];
    }

    运行结果:
    在这里插入图片描述
    ***** h-s=-11 *****(h104,s115)

    展开全文
  • 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int stringcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的...

    Description

    写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为
    int stringcmp(char *p1,char *p2);
    设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的ASCII码差值(如"BOY"与"BAD",第2个字母不同,"O"与"A"之差为79-65=14)。如果s1>s2,则输出正值,如s1<s2,则输出负值。

    Input

    两个字符串

    Output

    比较结果

    Sample Input

    BOY
    BAD

    Sample Output

    14

    HINT

    主函数已给定如下,提交时不需要包含下述主函数

    /* C代码 */

    int main()

    {

        int stringcmp(char *,char *);

        int m;

        char str1[80],str2[80],*p1,*p2;

        scanf("%s",str1);

        scanf("%s",str2);

        p1=&str1[0];

        p2=&str2[0];

        m=stringcmp(p1,p2);

        printf("%d",m);

        return 0;

    }



    /* C++代码 */

    int main()

    {

        int stringcmp(char *,char *);

        int m;

        char str1[80],str2[80],*p1,*p2;

        cin>>str1;

        cin>>str2;

        p1=&str1[0];

        p2=&str2[0];

        m=stringcmp(p1,p2);

        cout<<m<<endl;

        return 0;

    }
     

    代码有注释
    下面是代码
    ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

    int stringcmp(char *s1,char *s2)
    {
    int i=0;
    while (s1[i]&&s2[i]&&s1[i]==s2[i])//while为真时跳出循环,这个式子的意思是同时读两个数组,两个数组都不是空集且出现第一个相等的字符时跳出循环。
    i++;
    return s1[i]-s2[i];//   此处输两个数的差值
    }

    int main()
    {
        int stringcmp(char *,char *);
        int m;
        char str1[80],str2[80],*p1,*p2;
        scanf("%s",str1);
        scanf("%s",str2);
        p1=&str1[0];
        p2=&str2[0];
        m=stringcmp(p1,p2);
        printf("%d",m);
        return 0;
    }

    展开全文
  • 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int stringcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的...

    Description

    写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为
    int stringcmp(char *p1,char *p2);
    设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的ASCII码差值(如"BOY"与"BAD",第2个字母不同,"O"与"A"之差为79-65=14)。如果s1>s2,则输出正值,如s1<s2,则输出负值。

    Input

    两个字符串

    Output

    比较结果

    Sample Input

    BOY
    BAD

    Sample Output

    14
    #include <iostream>
    using namespace std;
    int stringcmp(char*p11,char*p22)
    {
        for(;*p11!='\0',*p22!='\0';p11++,p22++)
        {
            if(*p11!=*p22)
                return *p11-*p22;
        }
        if(*p11=='\0'&&*p22=='\0')
            return 0;
     
    }
     
    int main()
    {
        int stringcmp(char *,char *);
        int m;
        char str1[80],str2[80],*p1,*p2;
        cin>>str1;
        cin>>str2;
        p1=&str1[0];
        p2=&str2[0];
        m=stringcmp(p1,p2);
        cout<<m<<endl;
        return 0;
    }
     

    转载于:https://www.cnblogs.com/sxy201658506207/p/7586392.html

    展开全文
  • 最近工作需要,学习C语言,写一个数据解析脚本,...这个解析主要是两个函数,分为 1、取key和key地址——>getTitle() 2、根据第一步获取对应keyvalue——>getTitleInfo() getTitle(): //获取key值以及地址

    最近工作需要,学习C语言,写一个数据解析的脚本,最后终于有点眉目了,记录下劳动成果吧!因为基础很差,所以,仅供参考!

    这是自己编的一个数据,一会会上传原文本云盘地址


    这个解析主要是两个函数,分为

    1、取key和key的地址——>getTitle()

    2、根据第一步获取对应key的value——>getTitleInfo()


    getTitle():

    //获取key的值以及地址
    inline void getTitle(char *str){
    	char tit[MAX_NAS_NUM], val[MAX_NAS_NUM];
    	char *a = 0, *b = 0, *c = 0;
    	char *ptr = NULL, *ptr2 = NULL, *ptr3 = NULL;
    	int i = 0, k = 0;
    	
    	while (a = strstr(str, "{")) {
    		bzero(tit, sizeof(tit));
    		bzero(val, sizeof(val));
    		
    		if (i == 0) {
    			i = 1;
    			strncpy(tit, str, a - str);
    			string_replace_char(tit, '"', ' ');
    			string_replace_char(tit, ':', ' ');
    			string_trim_rn(tit);
    			printf("tit:%s\n", tit);
    			getTitleInfo(str, tit, val);
    			printf("val:\n%s\n", val);
    			
    			str = a;
    		} else {
    			b = a + 1;
    			for (ptr = b; *b; b++) {
    				if (*b == '{') {
    					ptr = b;
    					strncpy(tit, a + 1, ptr - a - 1);
    					string_replace_char(tit, '"', ' ');
    					string_replace_char(tit, ':', ' ');
    					string_trim_rn(tit);
    					printf("tit:%s\n", tit);
    					getTitleInfo(a, tit, val);
    					printf("val:\n%s\n", val);
    					
    					str = ptr;
    					break;
    				}
    				if (*b == '}') {
    					c = b;
    					ptr = b + 1;
    					for (ptr2 = ptr; *ptr; ptr++) {
    						if (*ptr == '{') {
    							ptr2 = ptr;
    							strncpy(tit, c + 2, ptr2 - c - 2);
    							string_replace_char(tit, '"', ' ');
    							string_replace_char(tit, ':', ' ');
    							string_trim_rn(tit);
    							printf("tit:%s\n", tit);
    							getTitleInfo(c, tit, val);
    							printf("val:\n%s\n", val);
    							
    							str = ptr2;
    							break;
    						}
    						
    						if (*ptr == '}') {
    							ptr2 = ptr + 2;
    							if (ptr3 = strstr(ptr2, "{")){
    								strncpy(tit, ptr2, ptr3 - ptr2);
    								string_replace_char(tit, '"', ' ');
    								string_replace_char(tit, ':', ' ');
    								string_trim_rn(tit);
    								printf("tit:%s\n", tit);
    								getTitleInfo(ptr2, tit, val);
    								printf("val:\n%s\n", val);
    								
    								str = ptr3;
    								break;
    							} else {
    								str = ptr2;
    								break;
    							}
    						}
    						
    					}
    					break;
    				}
    			}
    		}
    	}
    	return;
    }

    根据两个大括号的位置,取中间的key,然后发给getTitleInfo()这个函数去解析。


    getTitleInfo():

    //获取key对应的value
    inline void getTitleInfo(char *str, char *title, char *info) {
    	char *first = 0, *a = 0, *end = 0, *ptr = 0;
    	int len = strlen(title), i = 0, k = 0;
    	
    	a = strstr(str, title);
    	for (ptr = a; *a; a++) {
    		if (*a == '{') {
    			if (i == 0) {
    				ptr = a;
    			}
    			i++;
    		}
    		if (*a == '}') {
    			break;
    		}
    	}
    	
    	k = i;
    	first = ptr;
    	//printf("first:\n%s\n", first);
    	for (end = ptr; *ptr; ptr++) {
    		if (*ptr == '{') {
    			k--;
    		}
    		if (*ptr == '}') {
    			k++;
    		}
    		
    		//printf("k:\n%d\n", k);
    		if (k == i) {
    			end = ptr;
    			//printf("end:\n%s\n", end);
    			break;
    		}
    	}
    	//printf("end:\n%s\n", end);
    	//printf("a:\n%s\n", a);
    	strncpy(info, first + 1, end - first - 1);
    	
    	return;
    }

    判断这个key,刚开始对应的 { 有几个,记为i个,然后把i赋值给k,从头开始,

    当有 { 时,k--,

        有 } 时,k++,

    当k == i时,上下位置对应,取这之间的值,就是所谓的key对应的value。


    好啦,大体就是这样,代码和数据样本都上传到了云盘上,大家自己看下吧!(*^__^*) 嘻嘻……

    地址:

    http://pan.baidu.com/s/1i5ggIzF

    展开全文
  • 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int stringcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符...
  • C语言OJ项目参考(2424)字符串比较

    千次阅读 2016-12-09 18:53:43
    写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int stringcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的...
  • 题目:  用C语言实现比较两个字符串strcmp()函数... 当两个字符串相等时返回0,若两个字符串不相等时返回第一个不相等字符。   代码: int StringCompare(char *str1, char *str2) { //当str1 == str2时,返
  • 一、字符串 C语言并没有现实的字符串数据类型,字符串字符串常量的形式出现或者存储于字符数组中。 字符串包含的字符内部不...// size_t 是一个无符号整数类型,在头文件 stddef.h中定义 (注意两个此类型数据的差
  • printf("请输入第一个字符串:"); gets_s(a); printf("请输入第二个字符串:"); gets_s(b); for (i = 0; i ; i++) if (a[i] != b[i]) { t = a[i] - b[i]; break; } else continue;...
  • 038 同时显示两个文件内容 039 简单文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序...
  • C语言之对char*与char[]理解

    万次阅读 多人点赞 2018-01-22 10:03:56
    在我们学习过程中,在定义字符串时常常会用char* 或者 char[]去定义一个字符串,可是这两个的区别却天地别。 今天在这里我阐述一下自己对这两种定义理解与看法。 首先分别用这两种方法定义字符串,如下。 ...
  • c语言经典案例

    2014-10-30 08:06:57
    实例173 使用指针连接两个字符串 245 实例174 用指针实现逆序存放数 组元素值 247 实例175 用指针数组构造字符串数组 248 实例176 用指针函数输出学生成绩 249 实例177 寻找相同元素指针 251 实例178 查找成绩不...
  • 038 同时显示两个文件内容 039 简单文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序...
  •  EXP_FULL_DATABASE, IMP_FULL_DATABASE这两个角色用于数据导入导出工具使用。  自定义角色 Oracle建议我们自定义自己角色,使我们更加灵活方便去管理用户  创建角色 SQL> create role admin;  授权给...
  • 这里应说明的是并不是把整个字符串装入指针变量, 而是把存放该字符串的字符数组的首地址装入指针变量。 在后面还将详细介绍。 ⑥把函数的入口地址赋予指向函数的指针变量。例如: int (*pf)();pf=f; /*f为函数名*...
  • C语言常用算法

    2012-03-28 10:48:37
    038 同时显示两个文件内容 039 简单文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序...
  • C语言指针做函数参数

    2020-03-17 01:02:47
    编写函数scomp(char *s1,char *s2),将两个字符串s1和s2进行比较,要求若s1= s2,函数返回值为0;若s1≠s2,返回它们二者第一个不同字符ASCII码差值(如:“BOY”与“BAD”,第2个字母不同,“O”与“A” 之为...
  • 本来就想做个课程内容Feistel加解密,可是c语言基础太,整天遇到数组越界连续两个****scanf输入字符串key和paintext时,就发生过,如果没memset这两个属性,后面在makeGroup和generateKey会发生数组越界。...
  • C语言经典程序(二)

    2020-06-13 15:07:40
    1.比较字符数组a,b中的两个字符串是否相等(比较对应字符,全部相同输出0,不同则返回第一个不相同字符,并输出): #include<stdio.h> /*#include<math.h>*/ void main() { char a[100]="Hello ...
  • c语言实现下列各题

    2007-04-07 15:15:00
    c语言实现下列各题 1....3.写一个函数,实现两个字符串的比较。如果s1=s2,返回值为0;如果s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如”BOY”与”BAD”第二个字母不同,”O”与”A”之为79-65=14
  • 两个值排序 297 scanf函数和指针 298 指针类型 299 空指针 300 标量型 301 10-3 指针和数组 302 指针和数组 302 指针运算符和下标运算符 304 数组和指针不同点 306 数组传递 308 总结 311 第11章...
  • 比较结果由函数值带回 (1) 如果str1等于str2函数值为0 (2) 如果str1大于str2函数值为一个正整数第一个不相同字符ASCII码值之 (3) 如果str1小于str2函数值为一个负整数 请注意比较两个字符串是否相等时不能用...
  • 比较两个版本号 version1 和 version2。 如果 version1 > version2 返回 1,如果 version1 <...例如,2.5 不是“两个半”,也不是“一半到三”,而是第二版中第五个小版本。 你可以假...
  • 10025 字符串的连接 37 40017 求2/1+3/2+5/3+8/5+... 38 80021 找最大的字符串 39 80022 找最长字符串 40 80023 使用函数删除字符串中的字符 41 80024 使用函数实现字符串复制 42 80025 判断回文字符串 43 80026...
  • 忽略大小写比较字符串大小,大写字母和小写字母之间ASCII码32,若第一个字符不一样,比较其字符ASCII即可,若一样,则一直找到第一个不一样进行比较。 遇到了一道阴间改错,即输出字符串中连续出现次以上...
  • 038 同时显示两个文件内容 039 简单文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序...
  • 耦合的定义 耦合,是对模块间关联程度的度量。 模块间的耦合度是指模块之间的...实现例子实现两个功能: 1、统计字符串的单词总数。2、统计字符串中长度大于n的个数。 在这两个功能中,都需要将字符串中的每个单词...
  • C语言实例解析精粹源代码

    热门讨论 2009-09-20 03:39:01
    038 同时显示两个文件内容 039 简单文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序...
  • 最近要考计算机二级c语言,是因为自我感觉 自己的编程能力实在是太了,课堂上有没有好好的学,所以简单抽时间看看二级的题库,做一些经常出错的知识点的总结!有错的希望大家能够提出来,谢谢大家...字符串的输入...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

c语言两个字符串的差

c语言 订阅