你贴出的程序根本无法输出结果,因为它编译不过。
不太清楚你想实现什么,不过可以看看这个例子。
int main(void) {
int digits[] = {2, 4, 3, 0};
char text[sizeof(digits) / sizeof(digits[0]) + 1] = {0,};
char pieces[sizeof(digits) / sizeof(digits[0])][12];
for (int pos = 0; pos < 4; pos ++ ) {
text[pos] = digits[pos] % 10 + '0';
snprintf(pieces[pos], 12, "%d", digits[pos]);
}
printf("%s\n", text);
for (int pos = 0; pos < 4; pos ++ ) {
printf("%s\n", pieces[pos]);
}
}
从英语翻译·查看原文Your displayed program cannot produce output because it fails to compile.
It's unclear what you're trying to accomplsih, but consider this example:
int main(void) {
int digits[] = {2, 4, 3, 0};
char text[sizeof(digits) / sizeof(digits[0]) + 1] = {0,};
char pieces[sizeof(digits) / sizeof(digits[0])][12];
for (int pos = 0; pos < 4; pos ++ ) {
text[pos] = digits[pos] % 10 + '0';
snprintf(pieces[pos], 12, "%d", digits[pos]);
}
printf("%s\n", text);
for (int pos = 0; pos < 4; pos ++ ) {
printf("%s\n", pieces[pos]);
}
}