| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 540 人关注过本帖
标题:函数被其他函数调用的问题
只看楼主 加入收藏
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
结帖率:97.5%
收藏
已结贴  问题点数:11 回复次数:5 
函数被其他函数调用的问题
函数结束,不是函数里面的的定义要被释放吗?(单项传输性),但是下面这个程序为啥还能调用函数中的数据。在一个函数中输入,另外一个函数中处理,再一个函数输出。
图片附件: 游客没有浏览图片的权限,请 登录注册

#include<stdio.h>
int main()
{  char enter_string(char str[],char c );
   void print_string(char str[]);
   void delete_string(char str[100],char c);
    char str[100],c;
    delete_string(str,enter_string(str,c));
    print_string(str);
return 0;

}
void delete_string(char d[100],char c)
{   int i,j;
    for(int i=j=0;d[i]!='\0';i++)
    {
            if(d[i]!=c)
            d[j++]=d[i];
    }
    d[j]='\0';
}
char enter_string(char enter[],char d)
{
    gets(enter);
     d=getchar();
     return d;
}
void print_string(char str[])
{
    puts(str);
}
搜索更多相关主题的帖子: include return 
2017-03-10 15:42
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10587
专家分:43128
注 册:2014-5-20
收藏
得分:10 
char enter_string(char enter[],char d)
这个enter参数是i/o(输入/输出)参数
2017-03-10 15:57
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:1 
但是下面这个程序为啥还能调用函数中的数据
哪个是“函数中的数据”?
2017-03-10 15:59
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
收藏
得分:0 
回复 3楼 rjsp
字符数组 和 字符。enter这个函数输入的。怎么会被delete这个函数调用,和delete函数里面处理。怎么能被print函数输出。   我就不明白了,不是单项传输性,函数结束就释放了吗?怎么又可以用。
2017-03-10 16:48
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
收藏
得分:0 
回复 2楼 吹水佬
这是在enter里面输入的。我想问的是,它怎么被delete函数和print函数调用的。不是只有单项传输性。函数结束就释放了。
2017-03-10 16:53
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
收藏
得分:0 
现在明白了,数组是已指针的方式传入形参。形参array[]==*arr++;形参是传入数组的首字母
array[0]=*a++.其实数组传参就是原来的那个实参数组。形参改变实参也改变
2017-03-10 20:05
快速回复:函数被其他函数调用的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015484 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved