『壹』 c語言中比較兩個字元串的大小
在C語言中比較字元串大小,可以使用庫函數strcmp,也可以自己編寫比較函數。
1、使用庫函數。
需要包含頭文件string.h。聲明為:
int strcmp(const char *s1, const char *s2);
會根據字典序比較s1和s2, 如果二者相等,則返回0;如果s1較小則返回-1;如果s1較大則返回1。
比如
strcmp("123", "123") 結果為0。
strcmp("123", "456") 結果為-1。
strcmp("456", "123") 結果為1。
2、自定義函數。
實現字元串比較的方法有很多,其基本原理為按位元組比較。
舉例如下:
intmy_strcmp(char*s1,char*s2)
{
inti;
for(i=0;s1[i]==s2[i]&&s1[i]!=0;i++);//循環比較,達到結束或者出現不相等值時退出循環。
if(s1[i]==s2[i])return0;//代表全部相等,返回0
if(s1[i]<s2[i])return-1;//s1較小,返回-1。
return1;//s1較大,返回1.
}
『貳』 C語言中怎麼比較兩個由漢字構成的字元串的大小
用strcmp()函數,進行比較,相同時,返回0,不同時,返回1或-1
這里比較時,是按漢字的組成位元組的數值(可以認為是ascii值)進行比較的
『叄』 在c語言結構體中這兩個有什麼區別
count 是name吧,
h是指向結構體變數的指針,*h是指針指向的結構體變數。不同的方式訪問獲取結構體的值用法不一樣。
『肆』 c語言怎麼比較字元的大小
(這個調用了string.h頭函數)
#include <stdio.h>
#include <string.h>
void comparision(char a[],char b[])
{if(strcmp(a,b)>0) printf("a[40]>b[40]")。
else if(strcmp(a,b)==0) printf("a[40]=b[40]");else printf("a[40]<b[40]");}
(4)c語言2個結構字比較擴展閱讀:
語言特點:
主要特點
C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建。
通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。通過對C語言進行研究分析,總結出其主要特點如下:
(1)簡潔的語言
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。
語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
(2)具有結構化的控制語句
C語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。
『伍』 數據結構(使用C語言)實現兩個串的比較
不是有int strcmp(char *str1,char *str2);頭文件string.h這個函數嗎?幹嘛要那麼麻煩。
那就使用這一句吧。除非禁用strcmp();這個函數
int Compare(char *S,char *T)
{
return strcmp(S,T);
}
『陸』 C語言中在定義了一個結構體,裡面有char num[15],請問如何比較裡面的內容
可以調用strcmp函數,在頭文件string.h裡面
比如你定義了兩個結構體s1,s2,那麼比較的方法為:
int i;
i=strcmp(s1.num,s2.num);
如果i<0表示s1.num小於s2.num
如果i=0表示s1.num等於s2.num
如果i>0表示s1.num大於s2.num
『柒』 c語言兩個字元串比較大小的問題,不使用strcmp函數
#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)!='