我正在尝试在数组中打印“hello”,但使用标准函数 snprintf 沿对角线打印:
这是我编写但不起作用的代码可能表明我做错了:
int main(void)
{
int i, u;
char buff[26] = {0};
char abc[] = "hello";
for (i = 0, u = 0; i < 6; i++, u++)
snprintf(buff+u, 6, "%*c\n%c", u, abc[i], i);
puts(buff);
return 0;
}
输出应该是:
h
e
l
l
o
谢谢
最佳答案
改为
for (i = 0, u = 0; i < 5; i++)
u += snprintf(buff+u, sizeof(buff) - u, "%*c\n", i+1, abc[i]);
关于使用 snprintf 复制数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26978954/