當前位置:首頁 » 編程語言 » c語言比較字元是否相同的
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言比較字元是否相同的

發布時間: 2022-01-20 04:51:06

c語言程序,怎樣比較判斷兩個字元串是否相同

printf("輸入年數:");
scanf("%d",&z);
printf("輸入月日:");
scanf("%d",&x);
你不已經分開輸入年了么?月日一樣做不就可以?

㈡ C語言中判斷兩個字元串是否相同的方法

C語言提供了幾個標准庫函數,可以比較兩個字元串是否相同。以下是用strcmp()函數比較字元串的一個例子:

#include <stdio. h>
#include <string. h>
void main (void);
void main(void)
{
char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equalto str_3.\n");
}

上例的列印輸出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.

strcmp()函數有兩個參數,即要比較的兩個字元串。strcmp()函數對兩個字元串進行大小寫敏感的(case-sensitiVe)和字典式的(lexicographic)比較,並返回下列值之一:
----------------------------------------------------
返 回 值 意 義
----------------------------------------------------
<0 第一個字元串小於第二個字元串
0 兩個字元串相等 ·
>0 第一個字元串大於第二個字元串
----------------------------------------------------
在上例中,當比較str_1(即「abc」)和str_2(即「abc」)時,strcmp()函數的返回值為0。然而,當比較str_1(即"abc")和str_3(即"ABC")時,strcmp()函數返回一個大於0的值,因為按ASCII順序字元串「ABC」小於「abc」。
strcmp()函數有許多變體,它們的基本功能是相同的,都是比較兩個字元串,但其它地方稍有差別。下表列出了C語言提供的與strcmp()函數類似的一些函數:
-----------------------------------------------------------------
函 數 名 作 用
-----------------------------------------------------------------
strcmp() 對兩個字元串進行大小寫敏感的比較
strcmpi() 對兩個字元串進行大小寫不敏感的比較
stricmp() 同strcmpi()
strncmp() 對兩個字元串的一部分進行大小寫敏感的比較
strnicmp() 對兩個字元串的一部分進行大小寫不敏感的比較
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函數代替strcmp()函數,則程序將認為字元串「ABC」等於「abc」。

㈢ c語言怎麼判斷兩個字元串是否一樣

可以使用strcmp函數,其包含在string.h中。

  1. 原型:extern int strcmp(char *s1,char * s2);

  2. 用法:#include <string.h>

  3. 功能:比較字元串s1和s2

  4. 說明:當s1<s2時,返回值<0;當s1=s2時,返回值=0;當s1>s2時,返回值>0

也可以自己編寫一個函數。

#include<stdio.h>
#include<string.h>

intmain(){
char*s1A="abc",*s1B="abc";
char*s2A="abcd",*s2B="abcde";

puts("使用strcmp函數");
printf("s1A=%s、s1B=%s ",s1A,s1B);
if(strcmp(s1A,s1B)==0)
printf("s1A與s1B相同! ");
else
printf("s1A與s1B不同! ");
putchar(' ');

printf("s2A=%s、s2B=%s ",s2A,s2B);
if(strcmp(s2A,s2B)==0)
printf("s2A與s2B相同! ");
else
printf("s2A與s2B不同! ");
putchar(' ');

puts("使用自定義strCompar函數");
printf("s1A=%s、s1B=%s ",s1A,s1B);
if(strCompar(s1A,s1B)==1)
printf("s1A與s1B相同! ");
else
printf("s1A與s1B不同! ");
putchar(' ');

printf("s2A=%s、s2B=%s ",s2A,s2B);
if(strCompar(s2A,s2B)==1)
printf("s2A與s2B相同! ");
else
printf("s2A與s2B不同! ");
putchar(' ');

return0;
}

/*兩字元串相同返回1;不同返回0*/
intstrCompar(char*s1,char*s2){
while(*s1||*s2){
if(*s1++!=*s2++)
return0;
}
return1;
}

運行結果

㈣ C語言 比較兩個字元是否一樣

自己寫個程序,兩個字元直接相減 ,==0則相同!=0即不同

㈤ c語言程序,怎樣判斷兩個字元串相等並且輸出相同的那個結果

#include <stdio.h>
#include <stdlib.h>
int main()
{
char c[3]={'6','8'};//假定這是密碼 3 = 2 + 1
char d[11]={'0','1','2','3','4','5','6','7','8','9'};
for (int i=0; i<10; i++)

for (int j=0; j<10; j++) {
char e[3] = { d[i], d[j] };
if (strcmp(e,c)==0)
printf("密碼運算成功!密碼為%s\n", e);
}
}

㈥ C++中判斷兩個字元串是否相等,怎麼判斷

可以使用庫函數strcmp判斷,具體如下:

strcmp是C語言比較字元串的庫函數,形式為int strcmp(char *a, char *b);

該函數會對a和b的每個字元,按照ascii碼值比較,如果二者完全相同返回0;如果a的ascii碼值先出現較大者,會返回1;否則返回-1。

所以,要判斷字元串相等,可以使用。

(6)c語言比較字元是否相同的擴展閱讀:

關於上述strcmp()函數比較字元串的例子

#include <stdio.h>

#include <string.h>

int main(void)

{

char str_1[] = "abc";

char str_2[] = "abc";

char str_3[] = "ABC";

if (strcmp(str_1, str_2) == 0)

printf("str_1 is equal to str_2. ");

else

printf("str_1 is not equal to str_2. ");

if (strcmp(str_1, str_3) == 0)

printf("str_1 is equal to str_3. ");

else

printf("str_1 is not equal to str_3. ");

return 0;

}

參考資料來源:字元串-網路

㈦ C語言 比較字元串中是否 包含 相同 函數

int any(char s1[], char s2[])
{
int i;
int j;
int pos;

pos = -1;

for(i = 0; pos == -1 && s1[i] != '\0'; i++)
{
for(j = 0; pos == -1 && s2[j] != '\0'; j++)
{
if(s2[j] == s1[i])
{
pos = i;
}
}
}取s1的第i位,然後從s2的第j位開始找,找到兩個字元相等,把i賦給pos變數,然後退出循環,如果沒有找到相等的,會對比完字元串直到兩個字元串的尾巴為止。這個函數大概是想找到兩個字元串的同步頭吧

㈧ C語言中怎麼判斷兩個字元串是相同的.

strcmp

原型:extern int strcmp(char *s1,char * s2);

用法:#include <string.h>

功能:比較字元串s1和s2。

說明:
當s1<s2時,返回值<0
當s1=s2時,返回值=0
當s1>s2時,返回值>0

舉例:

// strcmp.c

#include <syslib.h>
#include <string.h>

main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;

clrscr();

r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");

getchar();
return 0;
}

相關函數:bcmp,memcmp,stricmp,strncmp

㈨ C語言中如何比較兩個【字元】或者【字元串】是否相等

C語言中用strcmp函數比較字元和字元串是否相等。

strcmp函數功能是比較兩個字元串的大小,返回比較的結果。

函數形式:strcmp(str1,str2)

參數說明:str1,str2可以是字元串常量或變數。

結果說明:

①返回值小於0,說明str1小於str2。

②返回值等於0,說明str1與str2相等。

③返回值大於0,s說明str1大於str2。

㈩ C語言中怎麼判斷兩個字元相同

不能這樣比較。

  1. 首先,'有'不是ASCII碼,它占兩個位元組。char b是ASCII碼,佔一個位元組。

  2. 你的程序中,a是一個字元串,b是一個字元,兩個類型不一樣,不能用strcmp比較。

如果你想比較,可以這樣:

#include<stdio.h>
#include<string.h>
intmain()
{
chara,b;
a='y';
b=getchar();
if(a==b)
printf("兩字都是y ");
else
printf("第二個字不是y ");
return0;
}