c - C 程序:数组示例
问题描述
我在某处读到我应该能够像这样初始化数组。但为什么它不起作用。
#include<stdio.h>
main()
{
char s[10];
s[10]="pen";
printf("%s\n",s[10]);
}
输出:空
解决方案
这是初始化:char s[10] = "pen";
这是赋值(和无效的语法):s[10]="pen";
语法相似但术语不同。初始化与变量声明一起完成。一般可以在程序启动前进行初始化。例如,如果您编写const char s[10] = "pen";
了 ,则可以在程序启动之前将字符串预加载到变量中。
由于s[10]="pen";
C 无效,但您的编译器通过警告(您可能没有阅读)让它通过,请考虑使用更严格的编译器设置进行编译。在 gcc 上,这意味着使用 编译-pedantic-errors -Werror
,我强烈建议初学者使用。
推荐阅读
- java - Java Webservice:GET 返回了 401 Unauthorized 的响应状态
- python - 将数字范围添加到列表中的每个元素
- apache - 将所有请求重定向到 Index.html
- node.js - openstack、pkgcloud 和节点 js
- database - 无法从 Oracle RAW 数据中解码所有信息
- machine-learning - 如何从此热图中选择变量?
- html - CSS 从左到右滑动面板
- javascript - Href 链接未正确呈现
- javascript - 如何在错误时触发 ajax 请求?
- python-3.x - 熊猫合并有两个结果具有相同的代码和输入数据