顺序输出两个字符数组中相同的元素
#include
#include
#define S 100
char A(char str1[100], char str2[100]);
char A(char str1[100], char str2[100]){
char str[S],m[S];
int a=0,b=0;
for(int i=0;i<strlen(str1);i++){
for(int j=0;i<strlen(str2);j++){
if(str1[i]==str2[j]){
str[a]=str1[i];
a++;
break;
}
}
}
str[a]='\0';
return str[S];
for(char i='a';i<='z';i++){
if(str[i]=='a'){
int o=0;
for(int j=0;i<strlen(m);j++){
if(m[i]==m[j]){
o=1;
}
}
if(o==0){
m[b]=str[i];
b++;
}
}
}
m[b]='\0';
return m[S];
}
int main() {
char set1[S], set2[S];
printf("请输入set1的内容:");
gets(set1);
printf("请输入set2的内容:");
gets(set2);
printf("%s",A(set1,set2));
return 0;
}
没有结果输出
你自己先得想清楚,A函数你到底要返回什么?是一个字符,还是一个字符串???是字符串,那返回值类型要用char *,是字符,则最后printf应该是%c。你这乱套的。
而且函数中间有个return str[S],那在它之后的代码是永远也执行不到的,所以你自己要清楚你的代码逻辑
你这函数A纯粹是在瞎写
自己先找张纸,好好把逻辑捋清楚,然后按照逻辑编写代码
你自己回头看看自己写的东西,能看明白吗
自己写的代码自己都看不懂,计算机能看懂吗