我已經編寫了代碼來打印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