程序如下:#include <stdio.h>
int f(int a,int b)
{
int c;
if (a>b) c=1;
else if (a==b) c=0;
else c=-1;
return(c);
}
void main()
{
int i=2,p;
p=f(i,++i);
printf(

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 刘梦晖

    20人对此回答表示赞同

    f()函数放在前面的话,必须在main函数前面声明: int f(int a,int b);

    p=f(i,++i); 遵循从右到左的规则,++i以后,i变成3了。两个数相等
    展开
    20
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 上官村

    16人对此回答表示赞同

    形参的计算方式从右到左 f(3,3) 所以,a = b = 3 所以,结果是0啊!
    展开
    16
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 爱吃糖的小女孩

    15人对此回答表示赞同

    如果f()函数放在后面的话,必须在main函数调用它之前声明:如 int f(int a,int b);
    遵循从右向左就是先计算++i,再确定第一个i的值;
    你把++i换成i++看看结果跟你想的就一样了
    展开
    15
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 画心

    1人对此回答表示赞同

    修改后的代码:
    #include <stdio.h>
    void main()
    {
    int f(int, int); //当被调用的函数写在后面的时候要先声明
    int i=2,p;
    p=f(i,++i);
    printf("%d",p);
    }

    int f(int a,int b)
    {
    int c;
    if (a>b
    展开
    1
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部