注册 登录
编程论坛 C语言论坛

求大佬来帮忙看看,到底为什么会出“?”

_2hanhan 发布于 2023-09-09 23:00, 492 次点击
#include<stdio.h>

int main()
{   

    char ch;
    ch = "a";     //如果改成ch=getchar()是可以正常输出
    putchar(ch);

    return 0;
}
这样子输出就会输出一个“?”
我知道把内部的第2条改成ch=getchar(),然后输入a,会输出a,这样是正常的。
但问题主要是我想知道为什么上边那个代码会出现“?”,求解。
3 回复
#2
forever742023-09-10 07:28
按照语法,双引号内不是字符,而是字符串,其语法意义是字符串的首地址。
所以你改用单引号就行了。
#3
_2hanhan2023-09-10 09:38
回复 2楼 forever74
感谢解答。
#4
Pa4072023-09-11 13:46
ch='a';
1