提问:如何输出字符串?

问题遇到的现象和发生背景

做的是字符串输入输出代码 问题是可以输入结束符也可以用
但是输出就显示不出来
%d%c
putchar printf
char[x]/char[具体数字]都没有效果

问题相关代码,请勿粘贴截图

/第一式/
#include <stdio.h>
int main(void)
{
int x;
char str[10];

x = 0;
str[9] = '\0';
while ((str[x] = getchar() != '\n'))
      x++;
    str[x] = getchar();
 

for (x=0;str[x]!='\0';x++)
  printf("%c\n", str[x]);


return 0;

}

/第二式/
#include <stdio.h>
int main(void)
{
int x;
char str[10];

x = 0;
str[x] = '\0';
while ((str[x] = getchar() != '\n'))
      x++;
    str[x] ='\0';
 

for (x=0;str[x]!='\0';x++)
  printf("%c\n", str[x]);


return 0;

}

我想要达到的结果

输出我所输入的字符

改成while ((str[x] = getchar()) != '\n')
要将赋值与比较隔开,优先级,先比较,后赋了
你直接printf("%s",str);

可以查看手册:c语言-字符串库-空终止字节字符串 中的内容