问题遇到的现象和发生背景
题目是给一个字符串只有0和1组成,然后让各元素相加减,让最后的结果的绝对值最小,输出连接每个元素之间的符号
#include<cstdio>
char s[101];
int main()
{
int T,n,i,c;
scanf("%d",&T);
while(T--)
{
scanf("%d%s",&n,s);
for(c=s[0]=='1',i=1;i<n;i++)
putchar(s[i]=='1'?"-+"[c^=1]:'+');
putchar(10);
}
}
下边这一串代码都是什么意思?
for(c=s[0]=='1',i=1;i<n;i++)
putchar(s[i]=='1'?"-+"[c^=1]:'+');
putchar(10);
详细解释一下这个putchar(s[i]=='1'?"-+"[c^=1]:'+');