标题:动态数组的问题?求大牛们解答
取消只看楼主
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
结帖率:83.33%
已结贴  问题点数:20 回复次数:2 
动态数组的问题?求大牛们解答
在100到1000中,求出个位、十位、百位上都相等的数,将其保存在数组中,在用动态数组时,程序中,for循环中输出可以得到正确的结果,但是在函数体里面就出现垃圾值
程序代码:
#include<stdio.h>
#include<stdlib.h>
int *fun(int n);
int main(int argc,char *argv[])
{
    int num_1=0;
    int *num_2=0;
    printf("请输入一个大于100小于等于1000的数!");
    scanf("%d",&num_1);
    fun(num_1);
     return 0;
}
int *fun(int n)
{
    int num_1=0;
    int num_2=0;
    int num_3=0;
    int num_4=0;
    int count_1=0;
    int count_2=0;
    int *p_coun=0;
    for(count_1=100;count_1<=n;count_1++)
    {    
         num_1=count_1/100;
         num_2=count_1%100;
         num_3=num_2/10;
         num_4=num_2%10;
         if((num_1==num_3)&&(num_3==num_4)&&(num_1==num_4))
         {
             p_coun=(int *)malloc(sizeof(int)*count_2);//用动态,但是不知道这样可不可以??
             p_coun[count_2]=count_1;
           printf("%d",p_coun[count_2]);//这里能输出我想要的结果
             ++count_2;            
         }
    }
   for(int i=0;i<count_2;i++)
            printf("%d\n",p_coun[i]);//输出的结构就乱了........
   return p_coun;
}
搜索更多相关主题的帖子: 1000 动态 
2012-07-25 18:05
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
得分:0 
回复 3楼 embed_xuel
...望大牛指出,我感激不尽.....malloc用法只是大致的知道是分配内存.....望明示
2012-07-25 19:14
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
得分:0 
回复 7楼 fybing2012
分析得很好....学习了!!谢了啊!!!
2012-07-26 13:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-374108-1-1.html




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

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