KXHH 发表于 2021-10-18 01:00:37

学过指针的大哥们,快来

打印出 2,5    需要学到小甲鱼《带你学C》的第几节课程啊?大学社团的考验题,这几天太忙了,希望有大哥能指点,过两天就交了,急急急。

hrpzcf 发表于 2021-10-18 01:00:38

KXHH 发表于 2021-10-18 10:19
要求是设定一个12345的集合,

#include <stdio.h>
#define SIZE 5

int main(void)
{
    int *ptr;
    int a = {1, 2, 3, 4, 5};
    ptr = a + SIZE;

    printf("%d, %d", *(a + 1), *(ptr - 1));

    return 0;
}

KXHH 发表于 2021-10-18 01:01:41

本人刚刚学完数组和啪啪啪那节,还有时间吗?

hrpzcf 发表于 2021-10-18 01:43:22

本帖最后由 hrpzcf 于 2021-10-18 02:07 编辑

题目?
没有题目那只能随便写了,反正输出一样
#include <stdio.h>

int main(void)
{
    int *ptr;
    int a[] = {5, 2};
    ptr = &a;

    printf("%d, %d", *(a + 1), *(ptr - 1));

    return 0;
}

易道云 发表于 2021-10-18 03:09:50

hrpzcf 发表于 2021-10-18 01:43
题目?
没有题目那只能随便写了,反正输出一样

int a[]={2,5};
int*ptr=&a;
cout <<p<<p;

村里小黑 发表于 2021-10-18 08:58:48

KXHH 发表于 2021-10-18 01:01
本人刚刚学完数组和啪啪啪那节,还有时间吗?

快了,马上就到指针了,看你个人接受能力,指针可能相对比较难

KXHH 发表于 2021-10-18 10:19:06

hrpzcf 发表于 2021-10-18 01:43
题目?
没有题目那只能随便写了,反正输出一样

要求是设定一个12345的集合,

番杰 发表于 2021-10-18 17:32:15

本帖最后由 番杰 于 2021-10-18 17:40 编辑

#include <stdio.h>

int main(void)
{
    int *ptr;
    int a[] = {1, 2, 3, 4, 5};
    ptr = &a + 1;

    printf("%d, %d", *(a + 1), *(ptr - 1));

    return 0;
}

hujiamiao1990 发表于 2021-10-18 18:13:56

我也是这个星期学完的指针,大牛们看看我解释的有没有问题{:5_108:}

#include<stdio.h>

int main(void)
{                          //a,a,a,a,a,a
        int a[] = {   1,   2,   3,   4,   5,   6 };//定义一个数组a,系统自动分配a下标到下标的6个int数据地址。
        int* ptr = &a;//创建一个int型变量名位ptr的指针(ptr定义为指针后,只能存放地址)
                                        //a把它理解成为一个变量,名字叫a。prt指针只接受地址,&就是取a这个变量的地址。

        printf("%d,%d\n", *(a + 1), *(ptr - 1));//*(a+1),a是数组的首地址,也就是a的地址,+1就是a的地址加1个int的长度到a
                                                                                //*(ptr-1),ptr中的地址就是a,-1是减去了一个int的地址那就是a的地址
                                                                                //*在这边是取出括号中指针指向的目标的地址内的值。

        printf("%d,%d,%d,%d,%d,%d", a, a, a, a, a, a);
        return 0;
}

hujiamiao1990 发表于 2021-10-18 18:16:54

#include<stdio.h>

int main(void)
{                          //a,a,a,a,a,a
        int a[] = {   1,   2,   3,   4,   5,   6 };//定义一个数组a,系统自动分配a下标到下标的6个int数据地址。
        int* ptr = &a;//创建一个int型变量名位ptr的指针(ptr定义为指针后,只能存放地址)
                                        //a把它理解成为一个变量,名字叫a。prt指针只接受地址,&就是取a这个变量的地址。

        printf("%d,%d\n", *(a + 1), *(ptr - 1));//*(a+1),a是数组的首地址,也就是a的地址,+1就是a的地址加1个int的长度到a
                                                                                //*(ptr-1),ptr中的地址就是a,-1是减去了一个int的地址那就是a的地址
                                                                                //*在这边是取出括号中指针指向的目标的地址内的值。

        printf("%d,%d,%d,%d,%d,%d", a, a, a, a, a, a);
        return 0;
}

KXHH 发表于 2021-10-19 00:13:19

感谢第一个大哥能来,我最后还是自己学的,成功通过!
页: [1]
查看完整版本: 学过指针的大哥们,快来