回 帖 发 新 帖 刷新版面

主题:这段程序哪里出错了?

请哪位大虾指点下,输入数组,输出数组.本人刚学C++,不是很懂,谢谢了!
#include "iostream.h"
int main()
{
    int *iptr;
    for(int i=0;i<6;i++)
    {
        cin>>iptr[i];
    }
    for(int j=5;j<=0;j--)
    {
        cout<<iptr[j];
    }
    return 0;
}

回复列表 (共11个回复)

沙发

你的数组指针没分配内存就输入了,自然错了
要对指针进行初始化:
int *iptr=new int[6];

板凳

指针在使用之前需要先赋初值,否则运行会出错!
在C++中你可以使用new 进行动态分配内存,把返回的指针付给指针

3 楼

顶楼上的两位,你只是定义了一个指针,并没有为其初始化,当然也没有为你所想输入的数据开辟内存空间,肯定错了

4 楼

for(int j=5;j<=0;j--)这段能运行吗?

5 楼


这段可以  刚好输入6个数   输出6个数

6 楼


你也可以这样写:
#include<iostream>
using namespace std;
int main()
{
    int *iptr=new int[6];
    int i,j;
    for(i=0;i<6;i++)
        cin>>iptr[i];
    for(j=0;j<=5;j++)
        cout<<iptr[j]<<" ";
    cout<<endl;
    
    return 0;
}
本人也是笨蛋一个的,以后多多交流啊![em2]

7 楼

深圳市华信群英科技有限公司与知名通信软件公司正式签订定向输送人才的合作协议
针对想进入IT软件行业的有志人士提供专业的企业内训
实训课程采用“2+3”分段教学模式,分为2个月理论强化和3个月项目实训两个阶段
实训前就签订就业安置协议,岗前实训后入职
不仅学费优惠而且是企业定向培训定向招聘,百分百保证就业
有意向请登录www.szctt.com,或加QQ:1179397962做详细咨询

8 楼

支持雪光风剑楼主!!!

9 楼


只恋《小强》
你没释放申请的内存空间呀

10 楼

#include<iostream>
using namespace std;
int main()
{
    int a[6];
    int i,j;
    for(i=0;i<6;i++)
        cin>>a[i];
    for(j=0;j<=5;j++)
        cout<<a[j]<<" ";
    cout<<endl;
    
    return 0;
}

直接用数组就行了 用指针麻烦

我来回复

您尚未登录,请登录后再回复。点此登录或注册