黑子144 发表于 2016-6-5 14:32:11

帮忙看看这是哪里错了?

#include<stdio.h>
#include<conio.h>
int fun(int a, int b, long *c);

int main()
{
        int a,b;
        long c;
        printf("Input a,b:");
        scanf("%d %d",&a,&b);
        fun(a,b,&c);
        printf("%ld\n",c);
}

int fun(int a, int b, long *c)
{
        c=(a%100/a%10)*100+a%10*10+(b%100-b%10)/10+b%10*100;
}

加乐比海盗 发表于 2016-6-5 17:01:47

本帖最后由 加乐比海盗 于 2016-6-5 17:06 编辑

#include<stdio.h>
#include<conio.h>
int fun(int a, int b, long *c);

int main()
{
int a,b;
long c;
printf("Input a,b:");
scanf("%d %d",&a,&b);
fun(a,b,&c);
printf("%ld\n",c);
}

int fun(int a, int b, long *c)
{
*c=(a%100/a%10)*100+a%10*10+(b%100-b%10)/10+b%10*100;
return (*c);
}
这样应该对了吧?
在你的代码里,你把要输出的c的值赋给了c的地址(函数fun里的c是main函数中c地址),而且你的fun函数没有返回值。

夜雨de街灯 发表于 2016-6-6 08:32:24

没有返回值,还有就是计算出一个整数值后直接赋给指针(地址),什么鬼{:10_245:}
页: [1]
查看完整版本: 帮忙看看这是哪里错了?