gpt4 book ai didi

c - scanf 和指针的段错误

转载 作者:行者123 更新时间:2023-12-02 09:31:48 26 4
gpt4 key购买 nike

我对 C 很陌生,所以解决方案可能很简单,但我似乎无法弄清楚这一点。当我在程序中运行 getDemensions() 时出现段错误:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

void getDemensions(double *, double *);
void calculateAreaAndCircumference(double, double, double *, double *);
void displayRectangleInformation(double, double, double, double);

int main() {
double length, width, area, circumference;

getDemensions(&length, &width);

calculateAreaAndCircumference(length, width, &area, &circumference);

displayRectangleInformation(length, width, area, circumference);
}

void getDemensions(double *length, double *width) {
printf("Enter rectangle length: ");
scanf("%lf", *length);
printf("Enter rectangle width: ");
scanf("%lf", *width);
}

还值得注意的是:我尝试在 scanf() 中的变量前面使用“&”,没有段错误,但输入未保存。

最佳答案

scanf 需要一个指针。由于 lengthwidth 已经是指针,您只需将它们传递给 scanfs:

void getDemensions(double *length, double *width) {
printf("Enter rectangle length: ");
scanf("%lf", length);
printf("Enter rectangle width: ");
scanf("%lf", width);
}

关于c - scanf 和指针的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386229/

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