鱼C论坛

 找回密码
 立即注册
查看: 2228|回复: 3

[已解决]小白求助

[复制链接]
发表于 2021-10-14 15:11:05 | 显示全部楼层 |阅读模式
8鱼币

#include <stdio.h>
void main()
{
        char a[15]="hello world";
        printf("%s\n",a);
}



[15] 在这里起什么作用 ?为什么没有它 直接执行不会打印 hello world?
最佳答案
2021-10-14 15:11:06
char a定义了一个占有一个字节空间的字符型变量,而“hello world”很明显是一个字符串,占有12个字节空间,所以hello world当然存不进字符型变量a里了,而char a[15]定义了一个数组,15表示有15个字符型变量,a为数组名,也是这个数组首元素的地址,%s实际上是接收地址的,在接收到a后就会按照顺序打印出整个字符串,等到你学到数组那一节就明白了

最佳答案

查看完整内容

char a定义了一个占有一个字节空间的字符型变量,而“hello world”很明显是一个字符串,占有12个字节空间,所以hello world当然存不进字符型变量a里了,而char a[15]定义了一个数组,15表示有15个字符型变量,a为数组名,也是这个数组首元素的地址,%s实际上是接收地址的,在接收到a后就会按照顺序打印出整个字符串,等到你学到数组那一节就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 15:11:06 | 显示全部楼层    本楼为最佳答案   
char a定义了一个占有一个字节空间的字符型变量,而“hello world”很明显是一个字符串,占有12个字节空间,所以hello world当然存不进字符型变量a里了,而char a[15]定义了一个数组,15表示有15个字符型变量,a为数组名,也是这个数组首元素的地址,%s实际上是接收地址的,在接收到a后就会按照顺序打印出整个字符串,等到你学到数组那一节就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 16:10:58 | 显示全部楼层
这段代码没问题啊,可以正常执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-14 16:22:40 | 显示全部楼层
单独char a;只是定义了一个字节的字符型变量,只能char a='b';或者 char letter='d';
a[15]表示一个字符数组,可以理解为是一个拥有15个字节的大容器,可以装的下“hello world”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 02:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表