有没有办法可以用以下方式使用'printf'打印一个字符数组(我知道这不是正确的C代码,我想知道是否有一个替代方案会产生相同的结果)。
printf("%s", {'h', 'e', 'l', 'l', 'o' });
答案 0 :(得分:3)
这将起作用,但是数组的长度必须在格式字符串中硬编码或作为参数进行硬编码,否则数组必须定义两次(可能由一个宏),以便其大小可以由编译器:
printf("%.5s", (char []) {'h', 'e', 'l', 'l', 'o' });
答案 1 :(得分:-1)
简单的while循环怎么样?当然,假设数组以空值终止。如果不是 - 您需要调整以计算数组中的字符数。
char a[] = {'h','e','l','l','o','\0'};
int i = 0;
while (a[i] != "\0")
{
printf ("%c,", a[i]);
i++;
}
输出:
h,e,l,l,o,
注意:不在char**
上试试这个!这仅适用于char[]
!