c - 如何用 C 解释这个程序的输出?
问题描述
我一直在解决这个问题:
#include<stdio.h>
int main()
{
printf("%c", "abcdefgh"[4]);
return 0;
}
这给出了 e 作为输出,但是我不明白如何打印一个名为“abcdefgh”的具有 4 个元素的数组。
简而言之,请告诉我这个程序是如何工作的。
解决方案
该字符串"abcdefgh"
没有 4 个元素。它是一个有 9 个元素的数组(字符加上空终止符,方括号是数组下标运算符。
"abcdefgh"[4]
获取索引 4 处的元素"abcdefgh"
也是如此'e'
。
推荐阅读
- sql - 在 SQL 中,即使日期没有数据点,有没有办法显示所有日期?
- python - TensorFlow 在一个 GPU 上同时训练多个较小的批次
- ios - AVCapturePhotoOutput didFinishProcessingPhoto 没有被调用
- android - 更改 TextField 中光标的大小(Jetpack Compose)
- azure - 如何在通过 ARM 创建 Key Vault 时分配“Key Vault Secrets User”RBAC 角色
- python - Flask 博客文章正在删除最后一篇博客文章,而不是想要的
- c# - 如何在 C# TCP 中的客户端-服务器之间同时读写两种方式
- flutter - TextFormField 不再关注重绘
- github - gitlab管道在代码推送和合并请求时自动添加
- validation - API 测试:验证动态 Rest Response 的方法(底层数据库中的 JSON 属性/值经常变化)