鱼C论坛

 找回密码
 立即注册
查看: 1389|回复: 6

[已解决]字符数组输出问题

[复制链接]
发表于 2020-2-26 22:47:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 老牛来学习 于 2020-2-26 23:01 编辑
#include<stdio.h>

int main()
{
        char a[3] = {'a','b','c'};
        printf("%s",a[1]);
}


上述代码中为什么按%d整型输出可以,也可以输出a,但是不能用%s字符串输出其中一个,比如a【1】?

怎样才能调用其中单独一个字符输出?
最佳答案
2020-2-26 23:00:07
因为a[1]是字符不是字符串。
字符数组 a[3] = {'1','2','3'};也不是字符串
字符数组 a[4] = {'1','2','3','\0'}; 这才是用来表示字符串的字符数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-26 23:00:07 | 显示全部楼层    本楼为最佳答案   
因为a[1]是字符不是字符串。
字符数组 a[3] = {'1','2','3'};也不是字符串
字符数组 a[4] = {'1','2','3','\0'}; 这才是用来表示字符串的字符数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-26 23:02:37 | 显示全部楼层
ba21 发表于 2020-2-26 23:00
因为a[1]是字符不是字符串。
字符数组 a[3] = {'1','2','3'};也不是字符串
字符数组 a[4] = {'1','2','3' ...

刚改了一下问题。
那我怎么才能实现调用其中一个字符输出?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-26 23:07:17 From FishC Mobile | 显示全部楼层
本帖最后由 magicpower 于 2020-2-26 23:08 编辑

你需要%c来输出字符,可以看看c的函数说明,小甲鱼应该有把printf的所有说明符写在那里

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
老牛来学习 + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-26 23:11:41 | 显示全部楼层
magicpower 发表于 2020-2-26 23:07
你需要%c来输出字符,可以看看c的函数说明,小甲鱼应该有把printf的所有说明符写在那里

感谢感谢,刚看蒙了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-26 23:12:46 | 显示全部楼层
你这是对字符数组和字符串有误解。

char a[3] = {'a','b','c'};定义了一个字符数组。
这个时候变量a是一个地址,表示字符数组的首地址,也可以字符串第0个元素的地址,也可以表示将字符串a;

printf("%c",a[0]);打印字符数组的0个字符元素
要把字符数组按照字符串输出可以用一下两种形式
printf("%s",a);
或者
printf("%s",&a[0]);。
概括的说,以%s打印字符串,后面对应的参数需要是一个字符串的开始地址。
例如
printf("%s",&a[0]); 打印的就是abc;
printf("%s",&a[1]); 打印的就是bc;


#include<stdio.h>

int main()
{
        char a[3] = {'a','b','c'};
        printf("%s",a);
}

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
老牛来学习 + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-2-26 23:25:32 | 显示全部楼层
major_lyu 发表于 2020-2-26 23:12
你这是对字符数组和字符串有误解。

char a[3] = {'a','b','c'};定义了一个字符数组。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 01:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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