c - C语言指针和数组
问题描述
#include <stdio.h>
int main()
{
char c[]="PRODUCTION 2019";
char *p=c;
printf("%s",p+p[3]-p[5]);
return 0;
}
我不明白输出如何RODUCTION 2019。有人可以详细解释一下吗?
解决方案
因为p[3]
is'D'
和p[5]
is 'C'
then p[3]-p[5]
is 1
整个表达式p+p[3]-p[5]
只是p + 1
推荐阅读
- python - 使用不同的过滤器在自身上加入数据框
- python - 使用 networkx 和 matplotlib 绘制图形
- python - 使用 flaskform 的密码凭证
- json - jq:错误:语法错误,如果在检查对象是否存在时出现意外,如果不存在则添加默认值
- node.js - Socketio 未在本地主机上的邮递员套接字连接 ui 上连接
- c# - 更改 C# 列表中玩家的前景色
- cassandra - 在 Cassandra 中存储数组
- ubuntu - 在 Ubuntu 20.04 上使用 build.sh 从源代码安装 Redhawk。我收到以下错误:检查 OMNIORB 是
- javascript - 创建自定义动态 JSON 字符串
- sql - postgresql 按时间间隔拆分行