我不明白为什么这段代码给我乘法、除法和减法的错误结果?它给我任何乘法运算的结果为零,任何除法错误的结果最终减法结果始终为 1
#include <stdio.h>
long operations(char x,int num1 ,int num2 );
int main(void) {
char x;
int num1 , num2;
long result;
setbuf(stdout,NULL);
result=operations(x,num1 ,num2 );
}
long operations(char x,int num1 ,int num2 )
{
printf("please enter your operation sum (1) ,subtrcation(2),mul(3),div(4) :");
scanf("%d",&x);
if (x==(1||2||3||4))
{
printf("please enter the first and second numbers : \n ");
scanf ("%d%d" ,&num1 ,&num2);
}
else
{
printf("error ") ;
}
switch (x)
{
case 1:
{
return printf("the result sum is :%d …Run Code Online (Sandbox Code Playgroud) (我想编写一个代码来计算数组元素的总和和平均值)我想找出错误平均结果的原因,其中平均值可能是浮点数,所以我进行了强制转换以使用以下方法将结果转换为浮点数(float)sum)/size.
注意:我知道如果我确定变量平均值这个问题将得到解决
float average = (float)sum/arr_size;
printf("The average of the array elements is: %f\n", average);
Run Code Online (Sandbox Code Playgroud)
但我需要分析我错误的平均输出
#include<stdio.h>
#define size 5
int main(void)
{
int i,sum=0;
int arr[size];
printf("please enter array elements: \n");
// for loop to scant element elemnt of array
for(i=0;i<size;i++)
{
scanf("%d",&arr[i]);
}
// sum of array
for(i=0;i<size;i++)
{
sum+=arr[i];
}
// print sum after fishing
printf("the summation is : %d \n",sum);
// average of array
printf("The average of array : %d",(((float)sum)/size));
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我的代码在我想运行操作结果的地方没有按预期工作有什么问题?运行结果告诉我“编译器错误”,但我找不到错误
int main(void) {
int operation,num1,num2;
printf("please enter operation (sum,sub,mul,div) : ");
scanf("%d",& operation);
printf("please enter two number: ");
scanf("%d%d",& num1,& num2);
switch (operation)
?{
case sum :
printf("The summation is : %d", num1+num2);
break;
case sub :
printf("The submition is : %d", num1-num2);
break;
case mul :
printf("The multiplication n is : %d", num1*num2);
break;
case div :
printf("The division is : %d", num1/num2);
break;
default:
printf("Not valid");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)