在主函数我赋值了一个字符char的数组,企图传递给Judge函数进行配对功能的实现
#include
#include
#define MaxSize 50
int Judge(char A[]) {
int i = 0;
int j = 0 , k = 0;
while (A[i] != '\0') {
switch (A[i]) {
case'I':j++; break;
case'O':k++;
if (k > j) {
printf("fasle\n"); exit(0);
}
}
i++;
}
if (j != k) {
printf("false\n");
return false;
}
else {
printf("true");
return true;
}
}
int main() {
char A[MaxSize] = { 'I','O','I','O','I','O' };
for (int i = 0; i < 6; i++) {
printf("%c", A[i]);
}
Judge(A[MaxSize]);
}
Judge(A[MaxSize]);
改为
Judge(A);
定义的时候 int A[MAXSIZE];代表数组,但使用的时候A[MAXSIZE]代表A数组的第MAXSIZE个元素。
c语言数组作为参数传参就是通过指针来实现的,通过传递数组的首地址来传递数组,当使用数组元素时编译器根据数组类型来查找首地址后地址存放的元素