背景:

下述函数的作用,是将字符数组倒叙转化为整型数组,但是运行过程中,*b这种形式,就能正常赋值,输出;b[test_count]这种形式就不能正常赋值,输出

编译工具:Visual studio 2019

code:

void Invert(char* a, int* b)

{

int a_len = strlen(a), b_len_count = 0;

for (int a_count = a_len - 1; a_count>=0; a_count--)

{

char temp = a[a_count];

*b = temp - '0';

//printf("a[a_count]: %c\n", a[a_count]);

printf("*b: %d\n", *b);

b++;

//printf("%d\n", a_len);

}

int test_count = 0;

for (test_count = 0; test_count <= a_len - 1; test_count++)

{

printf("b[test_count]: %d\n", b[test_count]);

}

}

输出结果:

回答

第一个for循环里的b++已经把b的指向更改了,第二个for循环在输出是新的地址了。

void Invert(char* a, int* b)

{

int a_len = strlen(a), b_len_count = 0;

int* p_temp = b; // 重新定义一个指针指向b

for (int a_count = a_len - 1; a_count>=0; a_count--)

{

char temp = a[a_count];

*p_temp = temp - '0'; // 修改新指针的值

//printf("a[a_count]: %c\n", a[a_count]);

printf("*b: %d\n", *p_temp); // 输出新指针的值

p_temp++; // 修改新指针的指向

//printf("%d\n", a_len);

}

int test_count = 0;

for (test_count = 0; test_count <= a_len - 1; test_count++)

{

printf("b[test_count]: %d\n", b[test_count]);

}

}

c语言指针加括号,C语言数组,指针和方括号赋值和输出产生不同结果?相关推荐

  1. c语言字符串加减_C语言中指针的介绍

    C语言中指针的介绍 指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构:能很方便地使用数组和字符串: 并能象汇编语言一样处理内存地址,从而编 ...

  2. linux c 两个指针相减,[转] C++指针加整数、两个指针相减的问题

    http://blog.csdn.net/onlyou930/article/details/6725051 说来惭愧,写C++有一段时间了.这个问题从来没有认真考虑过,此次标记于此: 考虑如下问题: ...

  3. matlab二重指针,VC++中函数返回数组指针或者带指针的结构体的编译方式是否可取? - 程序语言 - 小木虫 - 学术 科研 互动社区...

    libralibra 构造函数+析构函数应该是比较正规的做法吧, 你的结构体/类被提早释放的问题,是不是那个结构体是局部变量,当超出作用域时对象被销毁,如果存在析构函数,会被默认调用, 如果你返回结构 ...

  4. C语言如何加缓冲,C语言学习笔记之输出缓冲

    在c语言中经常用到输出函数printf,当我们像往常一样在输出函数中输入我们的想要的输出的东西后加\n换行 验证结果如我们输出的一样 如果我们在后面加入死循环会不会出现这些语句呢 结果卡死了,可还是输 ...

  5. c语言除法加括号么,算不了除法,为什么?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include void gai() { FILE *fp2; int a,b; char c[6]; getchar(); printf(" ...

  6. c语言变量加常量,C语言(二)---常量与变量(示例代码)

    一.进制 1.1 二进制 1.1 简介 二进制数据是用0和1两个数码来表示的数.它的基数是2,进位规则是"逢二进1",借位规则是"借一当二".当前的计算机系统使 ...

  7. r语言 柱状图加星号_R语言绘制带有显著性字母标记的柱状图

    Tao Wen 引子 方程分析的包目前正在重构,大家耐心等待,这是一年前我开始做这个包的时候的细节,从这里大家就可以学会如何做差异分析和可视化. library(tidyverse) library( ...

  8. r语言 柱状图加星号_R语言-柱状图

    ​​适合用于描述主数据(y轴数据)在不同分类(x轴是因子类型的分类数据,或者是时间数据)下的展示情况.同时,柱状图还可以清晰地绘制不同情况下的多组数据,以便于横向对比.barplot函数是柱状图的核心 ...

  9. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

最新文章

  1. junit配合catubuter统计单元测试的代码覆盖率
  2. crc错误 modbus poll_Modbus通讯错误检测方法
  3. hibernate里的generator中class =value介绍
  4. scrum 11.8
  5. emacs常用命令:移动光标
  6. RelayCommand命令
  7. Dapper使用技巧
  8. mysql支持的时区列表_mysql按天分组支持时区
  9. 华为API战略:规范、组织和流程驱动企业大循环
  10. js学习笔记——函数定义
  11. 浙江省单考单招计算机提前招,2018浙江省各校高职提前招生简章汇总及深度解析...
  12. LCS2005标准版部署
  13. MySql-Mysql技术内幕~SQL编程学习笔记(N)
  14. linux服务器如何查看硬盘型号,Linux如何查看硬盘型号和缓存
  15. 千呼万唤,web人脸识别登录完整版来了,这样式我爱了
  16. 英语老师自用省心天花板小程序
  17. 冥想-提高专注力和自控力的方法
  18. 深圳赛意信息 怎么样_深圳自动瓶坯检查机怎么样
  19. 推荐一个优秀的c++源代码,TinyXml2
  20. 全志V40/A40I的lichee 的编译

热门文章

  1. ucosii消息队列使用
  2. HPA monitoring cpu utilization fails for deployments which have init containers
  3. java socket通信demo_JavaSocket通信Demo
  4. 连分数分解法寻找整数的因子(Python)
  5. 线程池ThreadPoolExecutor详解(整理详细)
  6. Redis 基础使用(1)
  7. 数学-不用加减乘除做加法-JZ48
  8. 检验检测机构信息化建设一站式解决方案
  9. 2023秋招华为笔试常考题整理
  10. 网络编程socket之accept函数