微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 用指针输出数组的内容 求高手指导

用指针输出数组的内容 求高手指导

时间:10-02 整理:3721RD 点击:
#include <iostream>
#include <string.h>
using namespace std;
#define EOD  ('\0')
int main()
{
        int a[] = {10,15,56,89,101,854,66};
        int *p = &a[0];  //把数组首地址给指针
        //
        int i;
        for(int j=0;j<7;j++)  //输出数组数值正常
        //for(;*p!='\0';*p++)  //输出数组不正常 多输出后面无效数值
    //for(;p!='\0';p++)  //此方法不行直接导致电脑无限制输出
    // for(;*p!='\0';p++)   //不行和第二种一样
    //while(*p)      //不行和第二种方法一样
        //do   while 不行
        //while(*p!='\0')  //不行 和上面的方法一样
  // while(p-a<sizeof(a))   
        //此方法更不靠谱 输出错误
     i = sizeof(a)/sizeof(a[0]);  //这种方法正确
         while(p-a<i)
        //for(;*p++!='\0';)
        {
        //        cout<<p<<"\t";  //输出p的地址
                cout<<*p<<endl;
                *p++;
        }//while(*p!='\0');  //do while 不行
        system("pause");
        return 0;
}
/*
试了好几种方法都无法输出,有能输出的在后面注释
*/

int a[] = {10,15,56,89,101,854,66};
        int *p ;        p=a;  //把数组首地址给指针
  while(*p)
{
p++;
}

你要区别输出字符串和输出数值,输出字符串才用到'\0',输出数值用‘\0’肯定会出错的

完全不懂

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top