提问人:Maisie Li 提问时间:8/2/2021 最后编辑:mtmMaisie Li 更新时间:8/2/2021 访问量:386
当我使用 C 指针时出现“警告:多字符字符常量”
"Warning: multi-character character constant" when I used a C pointer
问:
这是我编写的一个函数的一小部分,一旦有人输入“时间”,它就会打印一个句子。但是当我编译它时,它说“警告:多字符字符常量”。我尝试使用双引号,上面写着“警告:指针和整数之间的比较”。现在,我很困惑。你能帮我吗?谢谢!!!
char *status;
scanf("%s", status);
if (*status == 'time')`
{
printf("The time of the meet-up is 4 p.m.");
}
答:
1赞
chux - Reinstate Monica
#1
一些帮助
status
未初始化。指针值不确定。考虑一个数组。char
char *status;
将不确定的值传递给 是不好的。在没有宽度限制的情况下使用是不好的。使用或宽度限制。scanf()
"%s"
fgets()
scanf("%s", status);
'time'
不是斯特林。更有可能你想要. 这里比较指针。要比较字符串内容,请研究 .”time”
==
strcmp()
if (*status == 'time')`
最好将 a 附加到输出中。’\n’
{
printf("The time of the meet-up is 4 p.m.");
}
评论
status
scanf
char status[64]
malloc
'
"
"time"
==
strcmp(status, "time") == 0
status
scanf
strcmp
==
if (*status == 'time')`