C语言程序运行不起来
/*掉用函数求两个数的和与差:计算输入的两个数的和与差,要求自定义一个函数
sum_diff(float op1,float op2,float *psum,float *pdiff),其中op1和
op2是输入的两个数,*psum 和 *pdiff是计算得出的和与差。
*/
#include<stdio.h>
void sum_diff(float pop1,float pop2,float *psum,float *pdiff)
{
*psum = pop1 + pop2;
*pdiff = pop1 - pop2;
}
int main()
{
float op1,op2,sum,diff;
print("输入两个变量:");
scanf("%d %d",op1,op2);
sum_diff(op1,op2,&sum,&diff);
printf("和为%d,差为%d/n",sum,diff);
}
上述代码为什么运行不了,谢谢。 改好了:
/*
掉用函数求两个数的和与差:计算输入的两个数的和与差,要求自定义一个函数
sum_diff(float op1,float op2,float *psum,float *pdiff),其中op1和
op2是输入的两个数,*psum 和 *pdiff是计算得出的和与差。
*/
#include<stdio.h>
int _sum(int pop1,int pop2)
{
float psum = pop1 + pop2;
return psum;
}
int _diff(int pop1, int pop2)
{
float pdiff = pop1 - pop2;
return pdiff;
}
int main()
{
int op1,op2;
printf("输入两个变量:");
scanf("%d %d",&op1,&op2);
float diff = _diff(op1,op2);
float sum = _sum(op1,op2);
printf("和为%f,差为%f/n",sum,diff);
return 0;
} 说下问题:
1,print是Python的。。。printf才是C的
2,你那个变量定义我没看明白,float的变量用%d接收?
3,函数也是,何必用指针?而且你的函数没有返回值
4,函数还有一个问题,C语言的函数不能返回多个值,所以要分开来写 本帖最后由 sunrise085 于 2020-3-21 21:08 编辑
三个错误,一个拼写错误,一个和上一个帖子一样,一个是格式化用错了。程序中帮你注释了
/*
掉用函数求两个数的和与差:计算输入的两个数的和与差,要求自定义一个函数
sum_diff(float op1,float op2,float *psum,float *pdiff),其中op1和
op2是输入的两个数,*psum 和 *pdiff是计算得出的和与差。
*/
#include<stdio.h>
void sum_diff(float pop1,float pop2,float *psum,float *pdiff)
{
*psum = pop1 + pop2;
*pdiff = pop1 - pop2;
}
int main()
{
float op1=,op2,sum,diff;
printf("输入两个变量:");//这里printf烧写了一个f
scanf("%d %d",&op1,&op2);//和上一个帖子错误一样
sum_diff(op1,op2,&sum,&diff);
printf("和为%f,差为%f\n",sum,diff);//float输出用%f,不是%d
}
qiuyouzhi 发表于 2020-3-21 20:58
说下问题:
1,print是Python的。。。printf才是C的
2,你那个变量定义我没看明白,float的变量用%d接收 ...
小朋友,你好像对C语言不是很了解啊。
人家用的是址传递的方式,要比你所谓的返回值强多了
你是不是不知道址传递和值传递啊? qiuyouzhi 发表于 2020-3-21 20:58
说下问题:
1,print是Python的。。。printf才是C的
2,你那个变量定义我没看明白,float的变量用%d接收 ...
/*
掉用函数求两个数的和与差:计算输入的两个数的和与差,要求自定义一个函数
sum_diff(float op1,float op2,float *psum,float *pdiff),其中op1和
op2是输入的两个数,*psum 和 *pdiff是计算得出的和与差。
*/
#include<stdio.h>
void sum_diff(float pop1,float pop2,float *psum,float *pdiff)
{
*psum = pop1 + pop2;
*pdiff = pop1 - pop2;
}
int main()
{
float op1,op2,sum,diff;
printf("输入两个变量:");
scanf("%d %d",op1,op2);
sum_diff(op1,op2,&sum,&diff);
printf("和为%f,差为%f/n",sum,diff);
}
你说的printf和%f两个问题改好了,但是还是不能输出。
我记得现在不是函数没有返回值,编译器会自己加一个返回o把?
C语言函数不能返回多个值,所以才用指针啊,就可以达到返回值的作用啊。
所以这是还有哪错了{:5_105:}
sunrise085 发表于 2020-3-21 21:03
三个错误,一个拼写错误,一个和上一个帖子一样,一个是格式化用错了。程序中帮你注释了
有点尴尬。感谢感谢!!!!!! 老牛来学习 发表于 2020-3-21 21:13
有点尴尬。感谢感谢!!!!!!
一个地方摔倒两次。
这次要记住哈,scanf进行输入,用的是变量地址,不是变量名 sunrise085 发表于 2020-3-21 21:14
一个地方摔倒两次。
这次要记住哈,scanf进行输入,用的是变量地址,不是变量名
!!!!!!知道啦 谢谢。 sunrise085 发表于 2020-3-21 21:07
小朋友,你好像对C语言不是很了解啊。
人家用的是址传递的方式,要比你所谓的返回值强多了
你是不是不 ...
确实,刚开始学习C语言,能帮忙解决的问题我就试试,顺便锻炼锻炼
如果有回答上的不足请多多指教{:5_109:} /*
掉用函数求两个数的和与差:计算输入的两个数的和与差,要求自定义一个函数
sum_diff(float op1,float op2,float *psum,float *pdiff),其中op1和
op2是输入的两个数,*psum 和 *pdiff是计算得出的和与差。
*/
#include<stdio.h>
void sum_diff(float pop1,float pop2,float *psum,float *pdiff)
{
*psum = pop1 + pop2;
*pdiff = pop1 - pop2;
}
int main()
{
float op1,op2,sum,diff;
printf("输入两个变量:");//这里printf烧写了一个f
scanf("%f %f",&op1,&op2);//输出用%f,不是%d
sum_diff(op1,op2,&sum,&diff);
printf("和为%f,差为%f\n",sum,diff);//输出用%f,不是%d
}
页:
[1]