问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言两个字符串比较大小的问题,不使用strcmp函数

发布网友 发布时间:2022-04-25 17:58

我来回答

2个回答

热心网友 时间:2023-10-23 01:13

#include<stdio.h>

#define N 80

void cmp(char a[N],char b[N])

{

int i=0;

char *p1=a,*p2=b;

while(*(p1+i)==*(p2+i)&&*(p1+i)!='\0')

{

i++;

}

if(*(p1+i)>*(p2+i))

printf("%s>%s\n",p1,p2);

else if(*(p1+i)<*(p2+i))

printf("%s<%s\n",p1,p2);

else

printf("%s=%s\n",p1,p2);

}

int main()

{

char a[N]={"abcdef"},b[N]={"abcdfg"};

char c[N]={"abcdefg"},d[N]={"abcdefg"};

char e[N]={"abcdefg"},f[N]={"abcdeeg"};

cmp(a,b);

cmp(c,d);

cmp(e,f);

return 0;

}

运行效果:

扩展资料:

while语句若一直满足条件,则会不断的重复下去。但有时,需要停止循环,则可以用下面的三种方式:

一、在while语句中设定条件语句,条件不满足,则循环自动停止。

如:只输出3的倍数的循环;可以设置范围为:0到20。

二、在循环结构中加入流程控制语句,可以使用户退出循环。

1、break流程控制:强制中断该运行区内的语句,跳出该运行区,继续运行区域外的语句。

2、continue流程控制:也是中断循环内的运行操作,并且从头开始运行。

热心网友 时间:2023-10-23 01:14

看了也试了、没什么问题
不过不用加头文件string.h

while((str1[i]==str2[i])&&(str1[i]!='\0')) i++;
这是说两个字符串从首位字符开始比较、如果相比较的两个字符相等且第一个字符串没有到结尾、那么要比较的字符各向后移动一位、str1[i]!='\0'是判断字符串结束的、当不满足条件时就会继续向下执行
if(str1[i]=='\0'&&str2[i]=='\0')
s=0;
else
s=str1[i]-str2[i];
如果是由于第一个字符串结束而跳出上面的循环、判断第二个字符串是否也结束了、
也就是判断下是不是两个字符串同时结束、如果是、s=0、不是、s为两个字符相差的ASCII码追问能更详细一点吗?谢谢啊,比如Ai和Fd啊,他们都是170啊,不是应该相等的吗?
就是如何比较字符串的啊,如果一次个是as,第二个是adf,又怎么比较啊?

追答额、我明白你的意思了、你理解错了
字符串比较并不是把每个字符的ASCII值都加起来后比较、
而是从头开始比较、只要有不相同的就结束、
比如、、
abcd和abef
从第一位开始比较、都是a相同、继续
第二位都是b、继续
第三位一个是c一个是e、不同
于是返回c-e的ASCII值、后面的就不比较了、结束程序了

c语言两个字符串比较大小的问题,不使用strcmp函数

不过不用加头文件string.hwhile((str1[i]==str2[i])&amp;&amp;(str1[i]!='\0')) i++; 这是说两个字符串从首位字符开始比较、如果相比较的两个字符相等且第一个字符串没有到结尾、那么要比较的字符各向后移动一位、str1[i]!='\0'是判断字符串结束的、当不满足条件时就会继续向下执行if(str1[i]=='\...

用c语言编写程序,不使用strcmp函数,比较任意两个字符串的大小

int my_strcmp(const char *a, const char *b){ if (((a == 0) &amp;&amp; (b == 0)) || ((*a == 0) &amp;&amp; (*b == 0))) return 1; //如果已经比较到字符串结尾,则表示字符串相等 if ((strlen(a) != strlen(b)) || (a[0] != b[0])) return 0; //如果长度不相同或发...

C语言问题:不用strcmp函数比较两个字符串的大小

strcmp函数是用来比较字符串的,而字符串以'\0'作为结尾标志,故要加上&amp;&amp;a[i]!='\0'。

利用指针来比较两个字符串大小,不能用strcmp()函数 的程序怎么写

if(aa[a]&gt;bb[a]){ c+=1;return(c);//break;} if(aa[a]&lt;bb[a]){ return(c);//break;} } } void main(){char*str[1][20];int a,b,c,d,e,f,h,i,j;printf("please input five char:\n");/*scanf("%s%s%s",str[0],str[1],str[2],str[3],str[4]);*/ scanf...

用循环和数组编写,比较两个字符串的大小。(不用到strcmp函数)

/* HELLO.C -- Hello, world */ include &lt;stdio.h&gt; int main(){ int i, n;char s1[50];char s2[50];printf("enter s1:");scanf("%s", s1);printf("enter s2:");scanf("%s", s2);n = strlen(s1) &gt;strlen(s2) ? strlen(s2) : strlen(s1);for (i = 0; i &lt;= n; ...

C语言 编一个函数比较字符串大小(不用strcmp库函数)

int s_cmp(char *s1,char *s2){ while (*s1 == *s2++)if (*s1++ == 0)return (0);return (*s1 - *(s2-1));}

编写C语言程序,不使用strcmp函数,比较任意两个字符串的...

丹凤呈祥龙献瑞 红桃贺岁杏迎春 福满人间 一年好运随春到 四季彩云滚滚来 万事如意

...字符串str1和str2的大小。要求不使用库函数strcmp.

char *s1, char *s2){if (s1 == NULL || s2 == NULL)// 字符串为空 return 0;while(*s1 == *s2 &amp;&amp; *s1 != '\0'){s1++;s2++;}return *s1 - *s2;}// 给了一个测试例子~可以自己写几个例子测试一下。int main(){printf("%d\n", Mystrcmp("ab", "aa"));} ...

...不使用C语言提供的标准函数strcmp。输出比较的结果(相等的结果...

include "stdio.h"int main(int argv,char *argc[]){char a[100],b[100],i;printf("Input 2 strings...\n");scanf("%100s%100s",a,b);for(i=0;a[i]==b[i] &amp;&amp; a[i];i++);printf("%d\n",a[i]-b[i]);return 0;}运行样例:...

c语言怎么不用strcmp按字典顺序对多个字符串排序?

strcmp子函数的功能是比较str1和str1字符串的每个字符 用一个for循环来实现这个功能的 功能实现,模拟着函数 void mystrcmp(char *str1,char *str2){ int i;for(i=0;str1[i]||str2[i];i++)if(str1[i]&lt;str2[i])retrun -1;else if(str1[i]&gt;str2[i])return 1;return 0;} strc...

c语言比较字符串大小的函数 c语言字符串比较函数strcmp 字符串比较大小 strcmp 比较两个字符串的大小 比较字符串大小的函数 c语言字符串的比较 c语言字符怎么比较大小 字符串的大小怎么比较 c语言比较字符串长度
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求游戏《寂静岭》中好听的游戏配乐,最好是纯音乐 A8 6500 最高支持什么显卡 加条内存组成双通道 对游戏有多大提升... ...追了四个多月了、她也喜欢我。我们俩个在一起也上了床…但是我是... 和喜欢7年的女孩表白后女生说给她点时间,但是又没说什么时间回复我。她... 说一个人很有气质`是什么样的呢` 邢台周边地区的苹果是什么价格 太行百果园地址在哪里? ...时最后香的形状是两边低中间高,这代表什么意思呀?麻烦知..._百度知... 染色体的组成为( )A.DNA和蛋白质B.蛋白质和糖类C.基因和蛋白质D.基 ... 监控器被接入后黑屏的原因 信用卡额度共享是什么意思 怎么比较两个字符串大小? 要求按顺序单个比较每个字符,两个未知长度字符串从键盘输入。 编程比较两个字符串的大小(不用strcmp函数()) 信用卡共用一个额度是什么意思 当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。是否正确 信用卡额度共享,什么意思 写一个函数,比较两个字符串的大小 交通银行信用卡共享额度是什么意思 两张信用卡共享额度,意思是?? 编程实现比较两个字符串的大小 在校大学生,想用ARM芯片stm32做一个项目,但是不知道可以做什么....希望过来人给点点子..谢谢了 同一银行的信用卡额度共享是什么意思 编写一个C语言函数,比较两个字符串的大小 比较两个字符串大小 卡,第二张卡和第一张卡额度共享是什么意思 字符串比较函数strcmp是怎样比较出两个字符串的大小的? 比较两个字符串的大小 字符串大小比较 请问一下,同一个银行多张信用卡额度共享是什么意思。 两个字符串 怎么判断大小? 你好,两张信用卡额度共享是什么意思 C语言:从键盘输入两个字符串,比较它们的大小? 如何比较两个字符串的大小 松茸放冷冻室需要先洗干净吗 新鲜松茸不洗可以直接冷冻吗 怎样制作一个自己的电脑桌面?? 简笔画之如何画母鸡(1) 怎么制作电脑活动背景桌面。 鸡妈妈和五个鸡宝宝怎么画素描画 以字母开头什么意思,我写帐号时候。 如何自制电脑桌面? 母鸡的蛋有哪些变化简笔画 必须是字母开头吗? 画一只公鸡鸡,简笔画 的开头必须是字母吗 请问;电脑桌面背景怎么制作,我想写点自己的东西在我电脑上,谢谢!!! 为什么设置要以字母开头 前字母怎么删除 开头的字母是w是什意思? 用“公鸡、母鸡、青蛙、猫和任意其他两种动物”组成一幅简笔画