【发布时间】:2016-11-22 15:55:52
【问题描述】:
是否可以扫描一个字符,将其传递给一个 char 数组,然后如果将 a 定义为字符串以打印该字符串?下面是代码,(它得到警告“从不同大小的整数转换为指针”) 提前致谢
char *a = "alpha";
int main()
{
char *A[80];
char ch;
printf("enter message");
scanf(" %c", &ch);
A[0] = (char *) ch;
printf("%s\t", A[0]);
return 0;
}
【问题讨论】:
-
%s想要一个 c-string: null 终止的字符数组...ch是单个字符。顺便说一句,您正在将 char 分配给指针,因为编译器正试图通过该警告告诉您。 -
抱歉,我不能很好地理解您的问题,尤其是“打印定义的字符串”和“如果 a 被定义为打印该字符串的字符串”部分。你能再解释一下吗?
-
要将扫描的字符传递给 char 数组,您需要可修改的 char 数组。字符串文字不可修改。
-
是的,对此感到抱歉。我想输入一些字符,如果输入“a”,我希望它打印“alpha”。我问这是否可能,或者我是否应该使用 if。
-
%s 无法打印字符。如果你想输入 'a' 应该打印 alpha 然后使用 if..else 条件
标签: c string printing character compiler-warnings