| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2106 人关注过本帖
标题:(各位路过的好心人,帮忙看下)调用函数,替换原输入的数组。为什么出不出 ...
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:20 回复次数:22 
(各位路过的好心人,帮忙看下)调用函数,替换原输入的数组。为什么出不出来??
#include<stdio.h>
int main()
{
    void jh(int a[],int n);
    int i=0,n=0;
    int b[n];
    while((scanf("%d",&b[i]))&&(b[i]!='\n'))
         n++;
    jh(b,n);
    for(i=0;i<n;i++)
       printf("%d",&b[i]);
    return 0;
}
void jh(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
       scanf("%d",&a[i]);
}
2017-03-08 21:11
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:4 
    int i=0,n=0;
    int b[n];
~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-08 21:28
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:4 
以下是引用九转星河在2017-3-8 21:28:36的发言:

    int i=0,n=0;
    int b[n];
~
给人解释到位啊  c是不允许这样申请变长数组的
也就是说 在初始化数组时 只能是  int b[10] 或者 #define n 10  int b[n]

DO IT YOURSELF !
2017-03-09 17:40
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
收藏
得分:4 
n==?
void jh(int a[],int n);
    int i=0,n=0;
//scanf("%d",&n);   
    int b[n];
n是未知数明白吗?

原谅我说错了。你要动态定义数组就是上面的方法。你的问题是n=0;b[0]数组只有1位的。

[此贴子已经被作者于2017-3-9 19:13编辑过]

2017-03-09 18:54
mnmn4429
Rank: 4
等 级:业余侠客
帖 子:64
专家分:245
注 册:2017-2-21
收藏
得分:4 
你先想好思路再写程序,你的程序很多地方就死循环了
思路不严谨
比如:
while((scanf("%d",&b[i]))&&(b[i]!='\n'))
         n++;
你想怎么出来,然够去执行下一条代码啊
2017-03-09 19:12
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 5楼 mnmn4429
连续输入数 n计算输入的个数 当 输入的\n 结束输入,
2017-03-09 21:42
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 4楼 wp231957
n输入的时候不是累加了??

[此贴子已经被作者于2017-3-9 21:44编辑过]

2017-03-09 21:43
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 九转星河
那为什么这个就可以,,,,
#include<stdio.h>
int main()
{
    void jh(int a[],int n);
    int i;
    int n;
    scanf("%d",&n);
    int b[n];
    for(i=0;i<n;i++)
      scanf("%d",&b[i]);
    jh(b,n);
    for(i=0;i<n;i++)
       printf("%d",b[i]);
    return 0;
}
void jh(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
 }
2017-03-09 21:45
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 九转星河
???
2017-03-09 21:45
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用花脸在2017-3-9 21:45:17的发言:

那为什么这个就可以,,,,
#include
int main()
{
    void jh(int a[],int n);
    int i;
    int n;
    scanf("%d",&n);
    int b[n];
    for(i=0;i
不知道你是啥编译器   这段代码99%的编译器都不会过

DO IT YOURSELF !
2017-03-10 20:39
快速回复:(各位路过的好心人,帮忙看下)调用函数,替换原输入的数组。为什么出 ...
数据加载中...
 
   



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

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