为什么这样无输出呢?

#include<stdio.h>
int main()
{
char c;
while((c=getchar()!='?'))
putchar(--c);
return 0;
}
如果我输入Y?N?<回车>,为啥输出不了呢?

while((c=getchar()!='?'))

改成

while ((c = getchar()) != '?')

putchar(--c);这句话错了
改成putchar(c);

这样就可以了

#include<stdio.h>
int main()
{
    char c;
    while ((c = getchar()) != '?')
        putchar(--c);
    return 0;
}