工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2509|回复: 4

一个简单的C语言程序

[复制链接]
发表于 2009-10-29 17:07 | 显示全部楼层 |阅读模式
#include "stdio.h"
  char temp[]="bbbb";
main()
{
  void sub(char *p);
  char p1[]="aaaa";
  printf("%s\n",p1);
  sub(p1);
  printf("%s\n",p1);  
}
void sub(char *p)
{
  p=temp;
  printf("%s\n",p);
}
在主程序中第二次printf("%s\n",p1); 为什么不输出bbbb呢?让大家见笑了,谢谢
发表于 2009-10-29 19:34 | 显示全部楼层
小心使用指针..不过这些概念我已经忘得7788了....
回复

使用道具 举报

发表于 2009-11-17 11:54 | 显示全部楼层
#include "stdio.h"
  char temp[]="bbbb";
main()
{
  void sub(char **p);
  char p1[]="aaaa";
  printf("%s\n",p1);
  sub(&p1);
  printf("%s\n",p1);
}
void sub(char **p)
{
  *p=temp;
  printf("%s\n",*p);
}
回复

使用道具 举报

发表于 2009-12-5 21:59 | 显示全部楼层
回复 1# sanguanko
调用sub(p1)时,实参P1是复制传入的
回复

使用道具 举报

发表于 2009-12-18 13:51 | 显示全部楼层
数组名是数组的首地址,你只是把地址p1给了*p,p1相当于指针常量,常地址!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-5-9 13:02

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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