字符数组初始化_字符数组的初始化_8UG的博客-程序员秘密

技术标签: 编程语言  

字符数组的初始化

字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。
(1)用字符常量逐个初始化数组。例如:
char a[8]={'i','l','o','v','e','y','o','u'};
用逐个初始化的方法与数值型数组初始化本质上是一样的,同样也可以进行完全赋初值及不完全赋初值,但是不完全赋值时没有赋值的元素被赋为空格。
当对全体元素赋初值时也可以省去长度说明。例如:
char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
这时C数组的长度自动定为9。
(2)字符串常量初始化数组。例如:
char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};
可写为:
char c[ ]={"C program"};
或去掉{}写为:
char c[ ]="C program";

字符数组的输入输出

字符数组的输入
(1)用getchar()或scanf()的'%c'格式符对数组进行字符赋值。例如,对于数组a[10]:用getchar()赋值:
for(i=0;i<10;i++)
a[i]=getchar();
用scanf()赋值:
for(i=0;i<10;i++)
scanf("%c",&a[i]);
(2)用scanf()的'%s'格式对数组赋值。还是对于数组a[10]:
scanf("%s",a);

scanf("%s“,&a[0]);
输入”C program“并回车时,a数组会自动包含一个以”\0“结尾的字符串”C program“。

字符数组的输出
(1)    用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
for(i=0;i<10;i++)
a[i]=putchar();
用printf()赋值:
for(i=0;i<10;i++)
printf("%c",a[i]);
输出结果为:
c program


程序
<span style="font-size:18px;">#include"stdio.h"
int main()
{
	char a[]="China";//用双引号""这种方式定义数组,实际数组元素个数总比双引号里的字符多一个,因为数组会查找'\0'这个结束的标志
	char b[5]="China";
	char c[5]={'C','h','i','n','a'};
	char d[]={'C','h','i','n','a'};
	printf("a[]:%d\nb[5]:%d\nc[5]:%d\nd[]:%d\n",sizeof(a),sizeof(b),sizeof(c),sizeof(d));
	printf("a[]:%s\nb[5]:%s\nc[5]:%s\nd[]:%s\n",a,b,c,d);
        return 0;
}</span>

运行结果会是什么呢?


结果分析:
数组a和b的值很容易想清楚
数组c和d为什么会越界输出呢?
因为在c中,以单引号‘’这种方式初始化数组,不可以用printf("%s",数组名);这种方式输出,
但是用双引号“”这种方式就可以用%s加数组名的方式输出

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/boboshenqi/article/details/44622375

智能推荐

百度在北京和深圳主攻腾讯 新浪等一些IM公司,大力挖人,甚至爆出15w-20w年薪,有人士对百度的行为做出以下分析: _sizongtao的博客-程序员秘密

1 为百度hi积累IM人才获得竞争对手情报 但是这不是主要目的; 百度从其他IM厂商挖到研发产品人员口中了解到大量的情报,同时通过所挖人员建立内部关系网进一步了解对手情报动态 原因很简单,百度在技术和基础平台上的建设已经非常完善,IM目前不存在壁垒,百度IM的计划早在上市前就已经有雏形; 2 动摇竞争对手军心,扩大自身影响 这是其中一个目的,20w年薪足矣让大多数技术人员动心,一个团队走4-5个人

[转载] FFMPEG视音频编解码零基础学习方法_weixin_33709219的博客-程序员秘密

在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学者之间好像有一个不可逾越的鸿沟。“大神”们水平高超,探讨着深奥的问题;而初学者们还停留在入门阶段。究竟是什么原因造成的这种“两极分化”呢?最后,我发现了问题的关键:FFMPEG难度比较大,...

iOS开发者的Weex伪最佳实践指北_上天眷顾我的博客-程序员秘密

本文来自简书,原文地址:http://www.jianshu.com/p/43adc80ab60b引子这篇文章是笔者近期关于Weex在iOS端的一些研究和实践心得,和大家一起分享分享,也算是对学习成果的总结。文章里面提到的做法也许不是最佳实践,也许里面的方法称不算是一份标准的指南手册,所以标题就只好叫“伪最佳实践指北”了。有更好的方法欢迎大家一起留言讨论,一起学习。由于笔者

HTML5七夕情人节表白网页制作【css3爱心表白背景特效】HTML+CSS+JavaScript 520情人节代码制作_css3七夕表白页面特效_@码住夏天-web网页设计的博客-程序员秘密

1 网页简介:基于HTML+CSS+JavaScript 制作七夕情人节表白网页、生日祝福、七夕告白、 求婚、浪漫爱情3D相册、炫酷代码,快来制作一款高端的表白网页送(他/她)浪漫的告白,制作修改简单,可自行更换背景音乐,文字和图片即可使用等任意html编辑软件进行运行及修改编辑等操作)。

Angular 前后端分离_angular前后端分离_FYANGFEI的博客-程序员秘密

1. 项目结构 index.html&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html lang=&quot;en&quot; ng-app=&quot;myApp&quot;&amp;gt;&amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;//顺序不要变 &am

spice Main Channel definition-程序员秘密

spice定义了用于设定多媒体时间的消息用于同步视频和音频流。有两种方法更新多媒体时间。第一种是使用数据到达playbackchannel时间戳。第二种方法是使用mainchannel的SPICE_MSG_MAIN_MULTI_MEDIA_TIME消息。当没有活动的playbackchannel存在时使用第二种方法。...

随便推点

严重: Exception starting filter struts2 --Unable to load configuration. - bean - jar:file:_JEFFYU328的博客-程序员秘密

严重: Exception starting filter struts2Unable to load configuration. - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/firstStrutsProject/WEB-INF/lib/struts2-sp

Android下载apk异常java.net.SocketTimeoutException: timeout解决办法_码莎拉蒂 .的博客-程序员秘密

1、问题实现下载apk的时候,抛出下面异常java.net.SocketTimeoutException: timeout2、分析很明显是socket超时了,由于我的wifi网络比较慢,设置的超时时间可能短了。在写入由GetRequestStream方法返回的流时,或在读取由GetResponseStream方法返回的流时,会用到ReadWriteTimeout属性,ReadWrite...

输出二个年份之间的闰年_def写两个年份区间有多少个闰年_def_JLN的博客-程序员秘密

/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *All rights reserved. *文件名称:

python批量操作文件-建立文件树目录_学习记录册的博客-程序员秘密

创建包含文件夹下所有文件及文件夹的excel表格,且对应文件夹及文件有超链接实现思路实现对文件的遍历将所有文件在表格中以文件树样式展现实现文件/文件夹的超链接代码实现import osimport openpyxlfrom openpyxl import Workbookfrom openpyxl.styles import Font, Colordef get_filename(dirname): column0 = dirname.count('\\')

Simscape/Multibody教程---入门导学_simscape杆件质量设置为零_水月流萤的博客-程序员秘密

转载于:https://www.cnblogs.com/MingruiYu/p/12305851.html本文要点:Simscape Multibody 简介 Simscape Multibody 入门学习的推荐学习材料和学习顺序 建模仿真过程中的重要知识 模型的参数设置(Model Workspaces) 模型求解器(Solver)的选择 写在前面对于MATLAB系列的所有产品,个人认为最好的学习材料都是 MathWorks 公司提供的官方文档,非常清晰,也非常详尽。本文的大部分

推荐文章

热门文章

相关标签