我正在尝试创建的程序中有一个简单的问题。我似乎无法弄清楚如何能够传递某人为我的变量“denom”输入的值,以便它可以在我创建的函数中成功使用。非常感谢帮助。
#include <stdio.h>
//Global Variables
int num, denom;
void simplify(int *numerator, int *denominator);
int main () {
int num1, denom1;
//Prompt User as to what program is
printf("Fraction Simplifier\n");
printf("===================\n");
//Ask User for Numerator and Denominator
printf("Numerator: ");
scanf("%d", &num);
printf("Denominator: ");
scanf("%d", &denom);
//Call Function
simplify(&num1, &denom1);
//Display final output
printf("%d / %d = %d / %d\n", num, denom, num1, denom1);
return 0;
}
//Simplify function
void simplify(int *numerator, int *denominator)
{
int num1, denom1;
num1 = 1;
num = num1;
denom = denom1;
num1 = num1 / num1;
denom1 = denom1 / num1;
*numerator = num1 ;
*denominator = denom1;
}
答案 0 :(得分:1)
您的simplify()
方法甚至没有尝试使用传递的值。
归结为* numerator = 1且* denominator =未定义(因为denom1从未初始化)。即它将“out值”设置为“常量”。你可能想做的事情如下:
int num1 = *numerator;
int denom1 = *denominator;
答案 1 :(得分:0)
在Simplify()函数中:
*int num1, denom1;
denom = denom1;* (1)
denom1 = denom1 / num1; (2)
*denominator = denom1;* (3)
in(1)denom1具有未定义的值。所以当你使用时: (2)denom1仍然有一个未定义的值 在(3) 分母有一个未定义的值