我已经编写了代码来打印C模式。我的预期答案与我所得到的答案有很大不同。我对C语言很陌生。我调试了代码,但无法找到错误。请帮我找到错误。我的代码如下。在模式打印程序中出现错误答案
#include <stdio.h>
int main()
{
//code
int T,i,j;
scanf("%d",&T);
while(T--)
{
char str[5];
for(i=0;i<5;i++)
{
scanf("%c",&str[i]);
}
printf("\n");
for(j=1;j<=5;j++)
{
for(i=0;i<5-j;i++)
{
printf(".");
}
for(i=0;i<j;i++)
{
printf("%c",str[i]);
}
}
printf("\n");
}
return 0;
}
输入到程序如下:
输入:
1
geeks
程序的预期的输出如下所示:
预期输出:
....g
...ge
..gee
.geek
geeks
的该程序的实际输出如下:
实际输出T:
....
...
g..
ge.
gee
注意,当你开始读单词“怪才”,你实际上是开始在空间(“‘),这样就可以读取’怪才” 。这就是为什么你的第一组周期不是“... g” – Matthew
'(j = 1; j <5;j++)' -->'for(j = 1;j≤5; j ++)' – LPs
..和'scanf(“ %c“,&str [i]);' - >'scanf(”%c“,&str [i]);' – LPs