精华内容
下载资源
问答
  • 因为*(arr)是指arr数组内存编号所对应的首地址的值,即arr[0]的值。所以*(arr+i)可以实现遍历整个数组。 转载于:https://www.cnblogs.com/hxinbk/p/4898255.html

    因为*(arr)是指arr数组内存编号所对应的首地址的值,即arr[0]的值。所以用*(arr+i)可以实现遍历整个数组。

     

    转载于:https://www.cnblogs.com/hxinbk/p/4898255.html

    展开全文
  • 满意答案singoboss2013.06.16采纳率:57%等级:11已帮助:3587人先输入,然后逆序存放,再输出、#include"stdio.h"#define N 10void input(int b[],int length);void Flag(int a[],int length);void main(){int a[N]...

    满意答案

    dcebd7a0de6265b6ccae5ead692f1eab.png

    singoboss

    2013.06.16

    dcebd7a0de6265b6ccae5ead692f1eab.png

    采纳率:57%    等级:11

    已帮助:3587人

    先输入,然后逆序存放,再输出、#include"stdio.h"#define N 10void input(int b[],int length);

    void Flag(int a[],int length);void main()

    {

    int a[N],i;

    input(a,N);

    Flag(a,N);

    for(i=0;i

    {

    printf("%d  ",a[i]);

    }

    }void input(int b[],int length)

    {

    int i;

    printf("Input 10 numbers :");

    for(i=0;i

    {

    scanf("%d",&b[i]);

    }

    }void Flag(int a[],int length)

    {

    int flag,i;

    for(i=0;i

    {

    flag=a[i];

    a[i]=a[length-1-i];

    a[length-i-1]=flag;

    }

    }

    02分享举报

    展开全文
  • C语言用指针访问数组元素:

    万次阅读 多人点赞 2017-07-28 11:38:56
    单独输出数组的名字就是相当于输出数组首元素的地址!= 数组的名字代表数组首元素的地址 int a[10]={1,2,3,,4,5,6,7,8,9,10}; int *p;//先声明指针变量 p=&a[0]//然后将指针赋予地址 这种写法等同于: int a[10]=...

    任务代码:

    (如下)

    执行情况:


    知识总结

    知识点1:用指针访问数组元素:

    单独输出数组的名字就是相当于输出数组首元素的地址!= 数组的名字代表数组首元素的地址


    int a[10]={1,2,3,,4,5,6,7,8,9,10};
    int *p;//先声明指针变量
    p=&a[0]//然后将指针赋予地址

    这种写法等同于:

    int a[10]={1,2,3,,4,5,6,7,8,9,10};
    int *p;//先声明指针变量
    p=a;//然后将指针赋予首元素地址

    更简便:

    int a[10]={1,2,3,,4,5,6,7,8,9,10};
    int *p=a;//一步代替两步,声明并赋值地址
    


    *(p+i)代表的是p后面的第i个单元(每个单元就是上图的小方格)!


    下面[ ]是一个运算符 ,用于取数组里的值


    a代表数组的首地址,i代表后地址后的第i个单元,d代表每个单元所占用的字节数(就是每个小方框所占用的字节数)!


    引用数组元素的方法:

    范例:

    建议使用最下面的那种方法是标准的使用指针访问数组a[10]

    代表的是定义指针变量*p,将数组a的首元素地址赋值给p,此事的p代表的是a的首元素地址,然后p<(a+10)代表循环a之后的10个元素,输出值为*p代表指向a[]中值;

    #include <stdio.h>
    int main()
    {
        int a[10]={1,2,3,4,5,6,7,8,9,10};
        int *p;
        for(p=a;p<(a+10);p++)//p++代表指向a[]的下一个单元,也就是顺着之后的地址依次读取
        {
           printf("%d ",*p);
        }
        return 0;
    }
    

    或者:

    #include <stdio.h>
    int main()
    {
        int a[10]={1,2,3,4,5,6,7,8,9,10};
        int *p;
        p=a;//首元素地址赋值
        while(p<a+10)
        {
           printf("%d ",*p++);//根据运算的优先级,先是取值再加加
        }
        return 0;
    }
    






    心得体会:


    展开全文
  • 全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 c语言一维数组练习题 4.1内容概述本章主要介绍了数值数组和字符数组的定义、初始化、元素引用和数组数据的输入与输出,字符数组实现字符串、字符串函数的...

    c语言一维数组练习题

    精品文档2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 c语言一维数组练习题 4.1内容概述

    本章主要介绍了数值数组和字符数组的定义、初始化、元素引用和数组数据的输入与输出,字符数组实现字符串、字符串函数的实现与调用。指针数组与数组指针定义、元素引用。利用一维数组实现如挑数、排序、求和等实际应用问题。利用二维数组实现矩阵的应用问题。利用字符数组实现字符串的各种操作。本章知识结构如图4.1所示。

    定义初始化 数值数组 元素引用

    数组元素输入和输出

    定义

    初始化 数组

    字符数组元素引用

    数组元素输入和输出

    定义

    指针数组初始化 应用

    图4.1 第4章知识结构图

    考核要求:掌握一维数组、二维数组、字符数组和指针数组的定义和初始化;掌握数组元素存储地址计算;掌握数组元素的下标法、指针法引用;掌握字符数组与字符串的区别与联系;掌握有关字符串处理函数的使用方法;能利用一维数组、二维数组解决向量、矩阵等实际应用问题。

    重点难点:本章的重点是一维数组、二维数组和字符数组的定义、初始化、元素引用,字符串处理函数的使用。本章的难点是字符串与字符数组的区别,指针数组和数组元素的指针法引用。

    核心考点:数组的定义、初始化和数组元素的引用方法,一维数组、二维数组和字符数组的实际应用,字符串的处理方法。

    4.典型题解析

    以下对一维数组a的定义中正确的是。

    A. char a; B. inta[0..100];

    C. int a[5];D. int k=10;int a[k];

    解析:一维数组定义的一般形式为:

    类型标识符数组名[常量表达式]

    其中,常量表达式可以是任意类型,一般为算术表达式,其值表示数组元素的个数,即数组长度。

    答案:C

    以下对一维数组的定义中不正确的是。

    A. double x[5]={2.0,4.0,6.0,8.0,10.0};

    B. int y[5]={0,1,3,5,7,9};

    C. char ch1[ ]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};

    D. char ch2[ ]={‘\x10’, ‘\xa’, ‘\x8’};

    解析:可以对一维数组的全部元素或部分元素赋初值。在对全部数组元素初始化时,数组长度可以省略。若数组长度没有省略,则初始化列表中值的个数不能超过数组的长度。

    答案:B

    以下对二维数组的定义中正确的是。

    A.int a[4][]={1,2,3,4,5,6}; B. int a[][3];

    C.int a[][3]= {1,2,3,4,5,6};D. int a[][]={{1,2,3},{4,5,6}};

    解析:定义二维数组时,若按一维格式初始化,则第一维的长度可以省略,此时,系统可根据初始化列表中值的个数及第二维的长度计算出省略的第一维长度,但无论如何,第二维的长度不能省略。没有初始化时,每一维的长度都不能省略。

    答案:C

    假定一个int型变量占用两个字节,若有定义:int x[10]={0,2,4}; 则数组x在内存中所占字节数是。

    A. B. C. 10 D.0

    解析:一维数组在内存中所占的字节数为:数组长度×sizeof。

    答案:D

    以下程序的输出结果是。

    main

    { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

    printf;

    }

    A. 0650B. 1470C.430 D. 输出值不定

    解析:定义的数组a为4行4列,且前三行三列元素已初始化,根据C语法规定,未初始化的元素值为0。

    答案:A

    以下程序的输出结果是。

    main

    { int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;

    for{ printf;}

    }

    A. B. C.D.

    解析:根据初始化列表中值的个数和第二维的长度,可求得第一维长度为3。第一行的元素值依次为1,4,7;第二行元素值依次为2,5,8;第三行元素值依次为3,6,9。循环执行三次,依次输出行标为2的三个元素,即第三行的

    展开全文
  • //用指针数组完成:将若干字符串安字母顺序输出 #include #include void print(char * name[],int n) //char * name[],指针数组,每个数组元素是一个char*(即字符串)类型 { int i; for(i=0;i;i++) { printf...
  • 对字符串s进行操作:每两个字母之间加一个*,其余字符保持不变。最后整体输出添加*后的字符串。 【样例输入】I had 123_book. 【样例输出】I h*a*d 123_...【样例说明】char数组保存字符串,建议数组长度不小于200.
  • C语言中的指针数组和数组指针

    万次阅读 2017-11-08 17:42:10
    c中指针可以作数组使用比如: int a[] = "hello world";... //利用数组形式输出数组不一定能作指针用比如: int a[] = "hello world"; printf("%c", *a++); 这时会报错,你不能改变数组的地址; 但是可以这样使用
  • C++指向数组元素的指针 在C++中,一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址;指针变量既然可以指向变量...和C语言一样,在C++中,数组名代表数组中第一个元素的
  • C语言用函数指针实现数组排序

    千次阅读 2020-04-08 14:29:44
    最近看C语言有点烦,无论是自学的数据结构还是学校的指针课程,看着头都大了。 学校在PTA安排了此题,提交了多次...输入10个整数进行排序并输出,其中函数指针编写一个通用的排序函数,如果输入1,程序实现数据按...
  • c语言 指针对数组元素排序

    千次阅读 2020-04-26 20:30:27
    指针对数组元素排序 请程序实现 使用指针对数组元素进行由...p, 整型指针,表示需要排序的数组 示例 1 输入 23 5 7 9 1 67 98 10 15 29 输出 1 5 7 9 10 15 23 29 67 98 示例 2 参数 72 49 18 62 98 输出 18 49 ...
  • 注意:数组指针的定义,与指针数组的区别 ... 指向多维数组元素的指针变量 ...这里采用的方法是基类型为整型的指针变量先后指向各元素,逐个输出它们的值。 #include <iostream> using name...
  • 定义指针数组name,各字符串对它进行初始化(即把各字符串中的第1个字符的地址赋给指针数组的各个元素) 使用选择法进行排序,不移动字符串,而是改变指针数组各个元素的指向 代码如下: //对字符串排序,...
  • 定义指针数组name,各字符串对它进行初始化(即把各字符串中的第1个字符的地址赋给指针数组的各个元素) 使用选择法进行排序,不移动字符串,而是改变指针数组各个元素的指向 代码如下: //对字符串排序,...
  • (1)字符数组存放一个字符串,可以通过数组名和下标引用字符串中一个字符,也可以通过数组名和格式声明 "%s"输出该字符串。 char string[] ="I Iove china"; printf("%c\n",string[7]); (2)字符指针变量...
  • 分析两种输出,对于3*2的二维数组来说,按行输出即为正常的数组元素输出形式,而后按列输出的话举个例子来说,比如输出一第一个即a[0],而第二个元素就要是a[2],依次类推,用指针数组p可以直接按地址的移动来进行输出。...
  • 数组中元素有汉字,产生随机的五个汉字并且不能重复 </p>
  • //结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息 #include struct Stu { int num; char name[20]; char sex; int age; }; int main() { struct Stu student[3]={{317,"han",'m'...
  • 有一个3x4的二维数组,要求指向元素的指针变量输出二维数组各元素的值. #include<stdio.h> int main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0];p<a[0]+12;p++) {if((p-a...
  • 如下代码和结果 指针数据作为函数的形参和实在的时候,形参指针p和...为什么这里实参指针n和形参指针p自身地址是不一样的,而上面用指针数据的时候,实参指针数组name和形参指针数组p是一样的。这里有什么区别吗?
  • C语言,函数返回数组

    千次阅读 2018-02-04 21:48:41
    C语言,函数能否输入或返回一个数组? 可以的,但大多数方式都是说将数组的首地址作参数...因为如果传入指针的方式,显然函数内部改动数组任意一个元素都会直接改写原数组。故不能说这种方式是数组输入。 函数可以
  • #include <stdio.h> void main() { int a[10] = {9,8,7,6,5,4,3,2,1,0}; int *p; p = a; int i;... printf("数组下标输出数组a:"); for(i=0;i<10;i++) { printf("%d ",a[i]); ...
  • 问题描述:分别用指针和数组下标的方式将输出数组的全部元素。程序分析:1.首先,要明白用数组下标和用指针访问数组中的值的区别。本程序中均写了一个printf_array函数来实现这一要求。2.使用数组的时候函数参数是...
  • int a[][3]={{0,1},{2,3},{4,5}}; int *p; p=a; 刚开始我还以为a就是a[0][0]的地址,其实不然 ...后面查了才知道,一级指针p代表的是a的行,即a[0]的地址 如果可以以下代码 #include <stdio.h> ..
  • 只是为了说明指向数组指针作函数参数而举的例子。函数average求总平均成绩,函数search找出并输出第i个学生的成绩。有些网上给出的方法有bug,这个是我自己修改过的程序。
  • (c语言)编程输出二维数组int a[6][8]中元素的最大值,要求用指针实现。 #include<stdio.h> #include<stdlib.h> #define N 6 //行数 #define M 8 //列数 int main(){ int a[N][M] = {{4,5,6,7,8,9,...
  • 指针数组) 题目描述   一开始未知数组长度,根据要求创建不同类型的指针,并且使用指针创建相应长度的数组,然后再完成不同的要求 若要求创建整数数组,计算数组内所有数据的...
  • 偶然翻到一篇以前写下的想法,对数组输入时用指针进行定位而不是用数组元素下标,遂尝试着进行验证想法。 第一种是指针自增运算p++ #include<stdio.h> int main() { int a[10]; int *p=a; for(int i=0; i&...
  • 关于函数指针方面,这个东西可能你有用:7.2 指针数组由上节的例 7.4可知,可用指针变量来访问数组中任一元素,通常将数组的首地址称为数组指针,而将指向数组元素的指针变量称为指向数组指针变量。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 694
精华内容 277
关键字:

c语言用指针输出数组

c语言 订阅