gpt4 book ai didi

c - 电梯程序有错误(段错误)

转载 作者:行者123 更新时间:2023-11-30 21:03:16 25 4
gpt4 key购买 nike

我是 C 语言新手,我的代码有问题。 (对不起我的英语不好)我正在尝试制作一个电梯程序,但是当我编译它(gcc)时,出现段错误错误。这是我的代码。

    #include <stdio.h>

/* Elevator Program */


char elevArr[11]={0};
int pressFloor[3][11]={0}, q=0;

void PrintFloor() { // Printing floors status
for(int i=9; i>=0; i--) {
printf("%3d %3c\n", i+1, elevArr[i]);
}
putchar('\n');
}

void InputFloor() { // Place what floor's button is pressed
int floor;
printf("Enter (floor, Up/down): ");
scanf("%d", &floor);
pressFloor[0][q]=floor;
}

void UpDownFloor() { // Button for Up Down
int ud;
scanf("%d", ud);
pressFloor[1][q]=ud;
}

int main() { // main module
bool Isfirst=true; // if the program is first runned
printf("\nElevator Program\nCreated by JSChang\nTo exit type (0, 0)\n\n");
elevArr[0]='E';
while(1) {
if(Isfirst==true) {
PrintFloor();
Isfirst=false;
} else {
q=0;
for(int i=0; i<10; i++) {
InputFloor();
UpDownFloor();
if(pressFloor[0][i]==0 && pressFloor[1][i]==0)
break;
}

}
}
return 0;
}

非常感谢!

最佳答案

启用编译器警告并修复所有警告:

例如:

int ud;
scanf("%d", ud);

这是错误的,scanf 参数必须是 &ud 而不是 ud

关于c - 电梯程序有错误(段错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26084545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com