我想写一个程序,从用户读取一个字符串,并以对角线模式打印字符串的字符。我将字符串的最大长度设置为50个字符。该程序可以以对角线模式打印字符,但不能正确打印字符。如何以对角线模式打印字符串的字符?
#include<stdio.h>
int main() {
int i = 0, j = 0, m;
char c[50];
printf("Enter a string: ");
scanf("%c", c);
m = sizeof(c)/sizeof(c[0]);
for (i = 1; i <= m; i++) {
for (j = 1; j <= i; j++) {
if (j == i) {
printf("%c", c[i-1]);
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
为什么不能使用'strlen的()'和打印的字符后对角线格式打印换行打印,并能打印增量空间 – Gopi 2014-12-01 16:40:47
'M = sizeof(c)/ sizeof(c [0]);'这是多余的,你已经硬编码了长度(50)。 – Maroun 2014-12-01 16:41:06
'scanf(“%c”,c);'只输入一个字符。 – BLUEPIXY 2014-12-01 16:43:02