鱼C论坛

 找回密码
 立即注册
查看: 965|回复: 5

[已解决]求助下大佬!

[复制链接]
发表于 2020-4-9 23:07:12 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# include< stdio. h>
include<  stdlib. h>
int fun(int n)
{
int * P;
P= (int * )malloc(sizeof(int));
*p=n; return * P;
}
main()
{
int a;
a=fun(10);printf("%d",a+fun(10))}
程序运行的结果是什么?
怎么来的?
最佳答案
2020-4-10 00:15:10
fun()函数传入一个参数n,返回值的大小就是n的大小。
a=fun(10)   执行完这句后 a=10
然后printf语句中输出的是   a+fun(10)   也就是10+10 结果就是20咯


注意,下次发问题的时候请把代码敲对!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-10 00:15:10 | 显示全部楼层    本楼为最佳答案   
fun()函数传入一个参数n,返回值的大小就是n的大小。
a=fun(10)   执行完这句后 a=10
然后printf语句中输出的是   a+fun(10)   也就是10+10 结果就是20咯


注意,下次发问题的时候请把代码敲对!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-10 00:36:29 | 显示全部楼层
本帖最后由 howzyao 于 2020-4-10 00:38 编辑
#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
int fun(int n)
{
  int * p;
  cout<<"fun中的p没有赋给左值地址:\n";
  cout<<"1---p的地址:"<<p<<endl;
  p= (int * )malloc(sizeof(int));
  cout<<"2---p的地址:"<<p<<" 值"<<*p <<" (右值---来自强制转换)"<<endl;
  *p=n;
  cout<<"3---p的地址:"<<p<<" 值"<<*p<<" (右值---来自参数)"<<endl;
  
  cout<<"4---fun中的p,在每调用fun函数时,向调用函数传回了不同地址的p"<<endl;
  
  cout<<"-----------------------------------"<<endl;
  return * p;
}

    
                       
int main(int argc, char *argv[])
{
    
int a;

printf("%s %d %s","a没有赋值,现在是随机值:", a ,"\n");

a=fun(10);
cout<<"a=fun(10)语句,由于fun返回的地址中的值,使a得到了参数10的值"<<endl;

printf("%d,%s,%d", a+fun(10),"a没有被初始化,但被上一语句: a=fun(10) 所赋值,值=",a,",\n" );
   
     
    system("PAUSE");
    return EXIT_SUCCESS;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-10 00:40:24 | 显示全部楼层
若看得明白,能解答你的疑问,请赏个分,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-13 06:58:17 From FishC Mobile | 显示全部楼层
sunrise085 发表于 2020-4-10 00:15
fun()函数传入一个参数n,返回值的大小就是n的大小。
a=fun(10)   执行完这句后 a=10
然后printf语句中输 ...

我用的扫描王,扫描出来的,下次一定!还有,我想问下,给指针p开辟一个空间在这里有用吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 08:42:02 | 显示全部楼层
Zichenya 发表于 2020-4-13 06:58
我用的扫描王,扫描出来的,下次一定!还有,我想问下,给指针p开辟一个空间在这里有用吗?

没太大关系。在函数中用指针也好,用变量也罢。结果是一样的。反正你返回的是值,而非指针。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表