关于c语言的不同类型输入

img


请问为什么只有这种输入是对的 下面两种都是错的而且错得不同呢😭

img

img

1.scanf(“%c”,&c) 可以读入输入的任何字符 包括回车 tab等
而其他输入时 不会读取回车符等而是把它们放在字符缓冲区 故在用scanf("%c",&C)读入时 请在读数据前 加一个或几个getchar()来吸收掉多余在缓冲区的字符
或者用 while(getchar()!='\n')
或者用fflush(stdin)来清空字符缓冲区

%s读字符串的 也是就是 char[]数组 而数组名即地址 故不加&

c是char类型输入要用%c,第三张是在接收c时因为'\n'也为字符c就先接收了’\n'而不会接收输入的字符,所以可以("\n%c",&c)这样