當前位置:首頁 » 編程語言 » c語言找出兩個字元串
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言找出兩個字元串

發布時間: 2022-08-04 12:58:45

c語言如何找出兩行字元串不同的字元

首先,根據你描述的顯然是遍歷短的字元串,在長字元串中找到的不相同的字元,這個是前提
1)比較兩個字元串長度,假設長的為longstr,短的為shortstr
2)定義兩個指針*plong和*qshort,分別指向長短字元串
3)依次比較*plong==*qshort?是否相等,若相等,則plong++,qshort++
若不相等,則輸出*plong,同時plong++,此時qshort不動,繼續比較,不斷循環,直到plong遍歷完成,此時有可能短的字元串還沒遍歷完,由於你的描述不充分,只能這么回答了

⑵ c語言從文件中查找字元串

c語言從文件中查找字元串的方法。

如下參考:

1.打開python命令窗口,定義並分配字元串變數s1。

⑶ c語言編程,找出兩個字元串中同時出現的字元

#include<stdio.h>
voidmain()
{
intmap[256]=0;
intc;
inti;
while((c=getchar())!=' ')map[c]|=1;
while((c=getchar())!=' ')map[c]|=2;
for(i=c=0;i<256;i++)
{
if(map[i]==3)
{
putchar(i);
c++;
}
}
if(c==0)printf("no");
putchar(' ');
}

⑷ 在兩個字元串中找字元 哪位大神幫忙答一下這道C語言題目啊

//方法,找出同時在兩個數組中出現的字母,做標記,剩下的就是本題結果。

void GetDiffChar( char* str1, char* str2, char* strOut)
{
const int nCout1 = strlen(str1);
const int nCout2 = strlen(str2);

for(int i=0; i<nCout1; i++)
{
char ch = str1[i];
for(int j=0; j<nCout2; j++)
{
if (str2[j] == ch)
{
str1[i] = 0xff; // mark
str2[j] = 0xff;
break;
}
}
}

//out
int nOutIndex = 0;
for(int i=0; i<nCout1; i++)
{
if(((unsigned char)str1[i]) != 0xff)
{
strOut[nOutIndex++] = str1[i];
}
}

for(int i=0; i<nCout2; i++)
{
if(((unsigned char)str2[i]) != 0xff)
{
strOut[nOutIndex++] = str2[i];
}
}
}

int main(void)
{
char str1[] = "1245678";
char str2[] = "943518";
char strOut[100] = {0};
GetDiffChar(str1, str2, strOut);
printf(strOut);

return 0;
}

⑸ c語言編程,找兩個字元串中同時出現的字元並輸出,急求,謝謝!

#include<stdio.h>

int main()

{int i,i1,i2,j,k;

char s[200]={0},s1[200],s2[200];

gets(s1);

gets(s2);

for(i=i1=i2=0;s1[i1];i1++)

{for(i=0;s[i];i++)

if(s[i]==s1[i1])

break;

if(s[i]==0)

{for(i2=0;s2[i2];i2++)

if(s2[i2]==s1[i1])

{s[i++]=s1[i1];break;}

}

}

s[i]='';

printf("%s ",s);

return 0;

}

⑹ c語言如何查找字元串

C語言中的標准函數庫中的strchr()函數可以實現查找字元串中的某個字元。

C語言strchr()函數:

查找某字元在字元串中首次出現的位置

頭文件:#include <string.h>

strchr() 用來查找某字元在字元串中首次出現的位置,其原型為:

char * strchr (const char *str, int c);

【參數】str 為要查找的字元串,c 為要查找的字元。

strchr() 將會找出 str 字元串中第一次出現的字元 c 的地址,然後將該地址返回。

注意:字元串 str 的結束標志 NUL 也會被納入檢索范圍,所以 str 的組後一個字元也可以被定位。

【返回值】如果找到指定的字元則返回該字元所在地址,否則返回 NULL。

返回的地址是字元串在內存中隨機分配的地址再加上你所搜索的字元在字元串位置。設字元在字元串中首次出現的位置為 i,那麼返回的地址可以理解為 str + i。

提示:如果希望查找某字元在字元串中最後一次出現的位置,可以使用 strrchr() 函數。

⑺ c語言查找字元串

字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「b」,s[9]="j",而字元串的零位正是它的長度,c語言查找字元串方法為:

1、首先,定義一個字元數組變數,可以這么寫。

注意事項:

盡管形式字元串可以有任意(但有限)的長度,實際語言的字元串的長度經常被限制到一個人工極大值。有兩種類型的字元串數據類型: 「定長字元串」,它有固定的極大長度並且不管是否達到了這個極大值都使用同樣數量的內存。

⑻ 用C語言編寫一個函數,找出兩個字元串的最大公共子字元串。

#include<stdio.h>
#include<string.h>
char *maxcommonstr(char *a,char *b);
int main()
{
char s[] = "abcabcdefabc";
char *d = "adcdef";
char *common=NULL;
common = maxcommonstr(s,d);
puts(common);
return 0;
}
char *maxcommonstr(char *a,char *b)
{
static char d[255] = {0};//存儲最大公共字串
char temp[255]={0};//臨時存儲公共字串
char *p = NULL,*q = NULL,*r = NULL,*s =NULL;
while(*a)//從第一個字元開始遍歷a串
{
p = a;//p指向a串
q = b;//q指向b串
r = temp;
for(s = q;s <= b +strlen(b); s ++)//從第一個字元開始遍歷b串
{
q = s;
while( *p && *q && *p == *q )// 若相等則賦值後移指針
{
*r = *p;
p ++;
q ++;
r ++;
}
}
*r = '\0';//末尾手動補0
if(strlen(temp) > strlen(d)) //如果此趟字串比以記錄最大字串長 則改變最大字串存儲
strcpy(d,temp);
a++;// a串後移
}

return d;
}
僅供參考……

⑼ C語言中如何查找字元串

用strstr這個函數

包含文件:string.h
函數名: strstr
函數原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字元串在str1字元串中第一次出現的位置(不包括str2的串結束符)。
返回值:返回該位置的指針,如找不到,返回空指針。

源代碼:

#include<stdio.h>
#include<string.h>//調用string.h中的strstr函數
void main(){
char ch1[255]="abcde";
char ch2[100]="cd";
char* ch;//用於接受返回值
if((ch=strstr(ch1,ch2))==NULL){//說明沒有要找的字元串
printf("-1\n");
}else{//說明找到了那個字元串
printf("%d\n",ch-ch1+1);//cde的地址減去abcde的地址+1
}
}