老牛来学习 发表于 2020-4-9 22:04:56

C语言

#include<stdio.h>

int main()
{
    int i = {1,2,3};

    printf("%d",i + 1);   //i是数组i的首地址,那我输出i + 1;不应该输出2吗?

小小甲虫 发表于 2020-4-9 22:09:25

你得用*(i+1);取存放地址的数啊

老牛来学习 发表于 2020-4-9 22:34:17

小小甲虫 发表于 2020-4-9 22:09
你得用*(i+1);取存放地址的数啊

#include<stdio.h>

int main()
{
    int i = {1,2,3};

    printf("%d",*(i+1));   


为啥我这样报错呢

小小甲虫 发表于 2020-4-9 22:36:58

老牛来学习 发表于 2020-4-9 22:34
为啥我这样报错呢

为什么我没报错啊,你是不是稍加一个}啊

麻麦皮 发表于 2020-4-9 22:40:24

楼主你自己对比一下就明白了
想输出数组的值有
1、数组形式输出
2、指针形式输出
#include <stdio.h>
int main()
{
int i={1,2,3};
printf("%p",i+1);//%p:输出地址,输出i的地址,并不是输出i的值
printf("%d",i);//以数组形式输出i的值
printf("%d",*(i+1));//以指针形式输出i的值
return 0;
}
页: [1]
查看完整版本: C语言