使用printf

时间:2015-11-10 19:53:45

标签: c arrays char printf

有没有办法可以用以下方式使用'printf'打印一个字符数组(我知道这不是正确的C代码,我想知道是否有一个替代方案会产生相同的结果)。

printf("%s", {'h', 'e', 'l', 'l', 'o' });

2 个答案:

答案 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[]