c语言如何判断字符在一个字符串中出现,但没有在另一个字符串中出现中出现

如题所述

第1个回答  2012-03-23
用strchr函数,返回NULL就代表没有,非空就代表出现了。
char * strchr ( const char * string, int ch )
if( strchr(str1, c) != NULL && strchr(str2, c) == NULL )
.........
第2个回答  2012-03-23
将两个字符串赋给两个一维数组,定义一个变量赋值为指定的字符,用循环语句将两个数组里的元素与这个字符比较,如果相等就输出这个字符串。
char a[5]={'c','h','i','n','a'};
char b[6]={'p','e','o','p','l','e'};
int i,j;
char t='c';
for(i=0;i<5;i++)
{if(t==a[i]) cout<<"china"<<endl;
else cout<<"no china"<<endl;}
for(j=0;j<6;j++)
{if(t==b[j]) cout<<"people"<<endl;
else cout<<"no people";}追问

你能帮我讲一下这个程序的思路吗?#include
#include

void fun (char *s,char *t, char *u)
{ int i, j, sl, tl;
sl = strlen(s); tl = strlen(t);
for (i=0; i=tl)
*u++ = s[i];
}
*u = '\0';
}

追答

这个程序的作用应该是,比较两个字符串中字符的大小,将字符串s1中比字符串s2中字符大的输出来,赋给另外一个字符串u

本回答被网友采纳
第3个回答  2012-03-23
/*
s中有,且t中没有的字符 : PrmerP
t中有,且s中没有的字符 : VaWndow
Press any key to continue
*/
#include<stdio.h>

int main() {
char s[] = "C++ Primer Plus";
char t[] = "Visual C++ Windows";
char *p,*q,flag;
printf("s中有,且t中没有的字符 : ");
for(p = s;*p;p++) {
flag = 1;
for(q = t;*q;q++) {
if(*p == *q) {
flag = 0;
break;
}
}
if(flag) printf("%c",*p);
}
printf("\n");

printf("t中有,且s中没有的字符 : ");
for(p = t;*p;p++) {
flag = 1;
for(q = s;*q;q++) {
if(*p == *q) {
flag = 0;
break;
}
}
if(flag) printf("%c",*p);
}
printf("\n");
return 0;
}