分别输出字符串的单个字符的时候用printf函数输出格式%s为什么会导致错误,而输出%c就没问题,是因为空字符的原因吗?
代码如下
include<stdio.h>
include<string.h>
int main(int argc, char const *argv[])
{
char a[55],b[55],sum[55]; //定义a,b国人,sum为他们的总意见
int i;
gets(a);
gets(b); //输入两个国家人的意见
strlen(a); //计算意见问题的个数
for (int i = 0; i < strlen(a); ++i)
{
if (a[i]==b[i])
{
sum[i]='1';
}
else
sum[i]='0';
} //计算总意见
for (int i = 0; i < strlen(a); ++i)
{
printf("%c",sum[i] ); //问题所在!!!
}
printf("\n");
return 0;
}
%s表示的是输出字符串,%c表示输出的是字符。
在你上面的程序中,输出的是字符,因此要用%c,,注意一下字符与字符串的关系