在2d数组C中切换匝数
在用户输入一些说明后,我尝试按此顺序打印一些字符:在2d数组C中切换匝数,c,arrays,function,if-statement,for-loop,C,Arrays,Function,If Statement,For Loop,在用户输入一些说明后,我尝试按此顺序打印一些字符: player=0 prints O player=1 prints D player=2 prints O player=3 prints D player=4 prints O #include <stdio.h> char direction(void) { printf("Walking to the right\n
player=0 prints O
player=1 prints D
player=2 prints O
player=3 prints D
player=4 prints O
#include <stdio.h>
char direction(void)
{
printf("Walking to the right\n");
return getchar();
}
int getRow(char z)
{
int c;
if (z == 'R') {
printf("Row: ");
scanf("%d", &c);
}
return c;
}
int getSteps(char z)
{
int f;
if (z == 'R') {
printf("Steps: ");
scanf("%d", &f);
}
return f;
}
void print(char a[4][4])
{
int i, k;
for (i = 0; i < 4; i++) {
for (k = 0; k < 4; k++) {
printf("%c ", a[i][k]);
}
printf("\n");
}
}
int main(void)
{
char z;
int c, f;
int player;
char a[4][4] = {
{ '*', '*', '*', '*' },
{ '*', '*', '*', '*' },
{ '*', '*', '*', '*' },
{ '*', '*', '*', '*' }
};
for (player=0;player<5;player++) {
z = direction();
c = getRow(z);
f = getSteps(z);
if (player == 0 || player == 2 || player == 4)
{
a[c][f] = 'O';
}
else {
a[c][f] = 'D';
}
print(a);
}
return 0;
}
用户第二回合
* O * *
* * D *
* * * *
* * * *
用户第三回合
* O * *
* * D *
* O * *
* * * *
用户第4回合
* O * *
* * D *
* O D *
* * * *
依此类推,你的预期产出是什么?你能说清楚一点吗?我的预期产出在第一行。让我把它添加到我的问题中。
return getchar()代码>:需要考虑换行是输入的。我应该将其放入函数中吗?当我这样做时,代码只打印4个字符,returngetchar()代码>-->charch;scanf(“%c”和“ch”);返回ch代码>你的预期输出是什么,你能说清楚一点吗?我的预期输出在第一行。让我把它添加到我的问题中。return getchar()代码>:需要考虑换行是输入的。我应该将其放入函数中吗?当我这样做时,代码只打印4个字符,returngetchar()代码>-->charch;scanf(“%c”和“ch”);返回ch代码>
* O * *
* * D *
* O D *
* * * *