【发布时间】:2016-10-17 15:48:02
【问题描述】:
用户将输入行和步的值。 R、Row 和 step 的变量必须使用函数进行操作,然后打印在 int main 中。
#include <stdio.h>
#include <stdlib.h>
void Direction(char z) {
printf("Walking to the right\n");
z = getchar();
}
void RowAndSteps(char z, int c, int f) {
if (z == 'R') {
printf("Row\n");
scanf("%d", &c);
printf("Steps");
scanf("%d", &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() {
char a[4][4] = {
{ '*', '*', '*', '*' },
{ '*', '*', '*', '*' },
{ '*', '*', '*', '*' },
{ '*', '*', '*', '*' } };
Direction(z);
RowAndSteps(z, c, f);
a[c][f] = 'O';
print(a);
return 0;
}
【问题讨论】:
-
你的问题是什么?
-
顺便说一句
Direction(foo);不会改变foo的值。在 C 中,参数是按值传递的。你需要指针来做你想做的事。 -
主函数中没有
z、c和f。查看您的编译器错误:ideone.com/ougd7K -
当我写 char z, int c, f;我收到一个错误“这些值未初始化。初始化它们的正确方法是什么?谢谢
-
有没有不使用指针的方法?