ユーザがintを入力し、1を入力して2乗、2を立方体、3を2で割る代入を処理します。私のシュリンク関数が常にゼロを返す理由を理解できません。C - Divisionはゼロを返します。
#include <stdio.h>
// Function prototypes
int Square(int value);
int Cube(int value);
double Shrink(int value);
int main()
{
/* variable definition: */
int intValue, menuSelect,Results;
intValue = 1;
// While a positive number
while (intValue > 0)
{
printf ("Enter a positive Integer\n: ");
scanf("%d", &intValue);
if (intValue > 0)
{
printf ("Enter 1 to calculate Square, 2 to Calculate Cube, 3 to divide integer in half \n: ");
scanf("%d", &menuSelect);
if (menuSelect == 3)
{
// Call the shrink function
Results = Shrink(intValue);
printf("Half of %d is %lf\n",intValue,Results);
}
else
printf("Invalid menu item, only 1,2 or 3 is accepted\n");
}
}
return 0;
}
/* function returning half of a number */
double Shrink(int value)
{
return (double) value/2.0;
}
あなたは印刷 '*未初期化変数でありintValue'と' Results' *。それだけでなく、ステートメントは関数内にないので、コンパイルされません。問題を示す[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を投稿してください。 –
コードが今投稿されました:私はコンパイラから2つのエラーと2つの警告を受け取ります。 –
申し訳ありませんが、すべてのコードを投稿する際に問題が発生しています。私の投稿にはコードが多すぎます。 – jschlita