【发布时间】:2020-02-13 03:27:47
【问题描述】:
我想创建一个程序,您可以在其中提供输入并根据输入提供输出,但我在输入部分遇到了一些问题。我首先制作了一个未初始化的字符串,并希望将输入存储在其中。但是当我编译时,它显示了这个错误:
格式“%c”需要“char *”类型的参数,但参数 2 的类型为“char (*)[0]”
我在网上查看过,但无法获得有关如何解决此问题的答案。
到目前为止我的代码如下(C 语言):
#include <stdio.h>
#include <stdlib.h>
int main() {
char string[] = "";
scanf("%c", &string);
}
【问题讨论】:
-
你用的是什么编译器? gcc 和 clang 都说
char (*)[1],而不是char (*)[0]。 -
您确定不想要
%s吗?在任何情况下,请注意string变量声明的大小只有 1 个字节,因此除了空字符串之外不能存储任何有效字符串。 -
您不应该收到此代码的消息,请检查您是否正在编译您发布的内容
-
我使用的编译器是 gcc @Joseph