| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1059 人关注过本帖
标题:一个初级的数组问题
只看楼主 加入收藏
Sheogorath
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-12-28
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
一个初级的数组问题
下面的程序是写入一份数组,数组第一个数表示数组元素个数,输入的内容是2 200 300,但是发现在向数组元素赋值时,序号也被复制了,求助大家为什么会这样

#include <cstdio>
int main(){
    int s,i;              //s表示数组元素的和
    int str[]={0};
    s=0;
    scanf("%d",&str[0]);
    while(1){
            for(i=0;i<str[0];i++){
                scanf("%d",&str[i+1]);//在写入300时i的值也变成了300
                s=s+str[i+1];
            }
            printf("%d\n",s);
            s=0;
        }
    return 0;
}
搜索更多相关主题的帖子: 初级 数组 元素 int str 
2018-12-28 15:15
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:20 
int str[]={0};
等同于
int str[1]={0};
2018-12-28 15:18
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
#include <cstdio>
你用的是C++吗?

程序代码:
#include <stdio.h>

int main( void )
{
    size_t n;
    scanf( "%zu", &n );

    int sum = 0;
    for( size_t i=0; i!=n; ++i )
    {
        int val;
        scanf( "%d", &val );
        sum += val;
    }
    printf( "%d\n", sum );
}
符合你的要求吗?
2018-12-28 15:23
Sheogorath
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-12-28
收藏
得分:0 
回复 2楼 rjsp
我的意思是i发生了变化,是怎么造成的啊
2018-12-28 15:36
Sheogorath
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-12-28
收藏
得分:0 
回复 3楼 rjsp
这是我一个程序中截取的一小段,debug的时候发现问题在这里,所以你给的程序我也不好验证啊
2018-12-28 15:38
Sheogorath
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-12-28
收藏
得分:0 
回复 2楼 rjsp
懂了,建立未知长度的数组不能这么写,谢谢
2018-12-28 15:42
快速回复:一个初级的数组问题
数据加载中...
 
   



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

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