c語(yǔ)言查找字符串的位置 c語(yǔ)言,輸入兩個(gè)字符串,判斷后一個(gè)是不是前一個(gè)的子串?
c語(yǔ)言,輸入兩個(gè)字符串,判斷后一個(gè)是不是前一個(gè)的子串?Int judge(char first[],char second[]){//兩個(gè)字符串的第一個(gè)地址的形式參數(shù)char*f=first,*s=s
c語(yǔ)言,輸入兩個(gè)字符串,判斷后一個(gè)是不是前一個(gè)的子串?
Int judge(char first[],char second[]){//兩個(gè)字符串的第一個(gè)地址的形式參數(shù)char*f=first,*s=second//由于無(wú)法分配數(shù)組地址,因此聲明兩個(gè)指針指向數(shù)組的第一個(gè)地址,而(*f!=“0”{//循環(huán)運(yùn)行到第一個(gè)字符串char*temp=f//的末尾,定義了一個(gè)新指針,如果(*temp==*s){//判斷第一個(gè)數(shù)組中的字符是否等于第二個(gè)數(shù)組中的字符,則不會(huì)更改f指針。如果是,則在(*s!=“0”{//下面的循環(huán)判斷第一個(gè)數(shù)組中的字符是否與第二個(gè)數(shù)組中的字符完全相同。Temp if(*Temp=“0”)resume 0//第一個(gè)數(shù)組中的剩余字符不夠,因此它們不是S if(*Temp!=*s){s=second//如果第二個(gè)數(shù)組中的字符與第一個(gè)數(shù)組中的字符不同,請(qǐng)重置s指針}}如果(s!=second)return 1//第二個(gè)數(shù)組中的所有字符都與第一個(gè)數(shù)組中的字符相同,因此它是一個(gè)substring}f}return 0//在循環(huán)的末尾,沒(méi)有結(jié)論表明它是一個(gè)substring,因此它不是substring}函數(shù)。只需在main中調(diào)用它
使用庫(kù)函數(shù)strstrstrstr
#include<stdio。H>
#包含<string。H>
main(){
char a[100],B[100
]獲?。╝)
獲?。˙)
如果(strstrstrstr(B,a)!=null){//第二個(gè)參數(shù)的第一個(gè)參數(shù)的子字符串
printf(“YES”)
}否則{
printf(“NO”)
}
}
C語(yǔ)言實(shí)現(xiàn)判斷字符串str1是否是str2的子串?
//#include “stdafx.h”//如果是vc 6.0,則使用此行。#include<string>#include<iostream>使用命名空間std int main(int argc,char*argv[]){string s1,s2 cout<< “輸入2個(gè)字符串…n ”cin>> s1>>> s2 cout<<(s1.find(s2)!=字符串::npos?“Yes”:“No”<< endl return 0}