回复 10楼 书生牛犊
好的,非常感谢
回复 10楼 书生牛犊
我懂您的意思了,是我想当然的觉得字符数组未被初始化就会以'\0'结尾。除了您指出的c数组,还有d数组也犯了同样的错误。我反思一下,下次再遇到此类问题时,将字符串数组初始化为空即可,编译器会自动补上'\0'。再次感谢您
程序代码:#include <stdio.h>
#include <ctype.h>
int main( void )
{
char a[81], b[81];
scanf( "%s%s", a, b );
char map[128] = { 0 };
for( char *pa=a, *pb=b; *pa; ++pa )
{
if( *pa == *pb )
{
++pb;
continue;
}
char upr = toupper(*pa);
if( map[upr] == 0 )
{
map[upr] = 1;
printf( "%c", upr );
}
}
return 0;
}