请教问题?
题目是这样的:比较两个字符串,删除相同单元后,连接?
我自己写的代码,但是不能实现删除相同的字符常量?不知道哪出错了?大家给看下哈~
#include <stdio.h>
#include <string.h>
int main (void)
{
char a[90],b[90]; /*定义字符数组*/
int x,s; /*定义变数器*/
printf ( "input a: ");
scanf ( "%s ",a); /*输入第一个字符串*/
printf ( "input b: ");
scanf ( "%s ",b); /*输入第二个字符串*/
for (x=0;x <a[sizeof (a)];x++)
{
for (s=0;s <b[sizeof (b)];s++)
{
if (a[x]==b[s]) /*比较数组元素*/
{
a[x]=0; /*元素置0*/
b[s]=0; /*元素置0*/
}
}
}
strcat (a,b); /*连接2个字符串*/
printf ( "%s ",a); /*输出连接后的字符串*/
getch ();
return (0);
}
[解决办法]
如果是那样的可以考虑这样写下;
for (x=0;x <strlen(a);x++)
{
for (s=0;s <strlen(b);s++)
{
if (a[x]==b[s]) /*比较数组元素*/
{
a[x]=0; /*元素置0*/
b[s]=0; /*元素置0*/
}
}
}
for (x=0;x <strlen(a);x++)
if ( a[x] != '0 ' )
printf( "%c ", a[x] );
for (s=0;s <strlen(b);s++)
if ( a[s] != '0 ' )
printf( "%c ", a[s] );