*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); 语句 c前面为什么有个*? 请高手解答。

[复制链接]
查看11 | 回复2 | 2011-3-13 09:49:00 | 显示全部楼层 |阅读模式
void fun(int a, int b, long *c){*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}// c 是指针, *c = 10,就是给 long 指针c 所指向的地址 上赋值 10这样就可以返回结果 void fun(int a, int b, long c){c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}// 如果这样,调研fun就没有办法返回c的值,因为调用者是按值传递参数c, 调用者的参数c和fun的参数c,并不是同一个变量 void fun(int a, int b, long &c...
回复

使用道具 举报

千问 | 2011-3-13 09:49:00 | 显示全部楼层
void fun(int a, int b, long *c)这个函数有三个形参,两个整型变量a,b,和一个指向长整型的指针变量c,*c代表的是指针变量c所指向的值, 可以把一个整数的值赋给它(*c),但是不可以把一个整数的值赋给一个指针变量(或者叫地址),所以必须这样赋值: *c=(b%10)*1000+(a%10)*100+(b/10)*10+(...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行