【C语言】字符数组与scanf读取字符串
C语言中不提供字符串类型,用字符数组来存储字符串。
字符数组
//定义并初始化字符数组
//char c[10] = {'h','e','l','l','o'};
//更方便的方式:
char c[10] = "hello"; //注意c[5]中存储的是'\0'
C语言规定字符串的结束标志为 '\0',系统会对字符串常量自动加一个'\0'。
为了保证处理方法一致,字符数组中也要添加 '\0',所以字符数组存储的字符串长度必须字符数组少一个字节,该字节用来存储 '\0'。
#include <stdio.h>
int main() {
// char c[6] = "hello";
char c[5] = "hello";
printf("%s\n",c);
return 0;
}
上述代码的执行结果:

图1-1

图1-2
scanf 读取字符串
#include <stdio.h>
int main() {
char c[10]="123456789";
scanf("%s",c); //字符数组名c中存储了数组的起始地址,因此不需要取地址
printf("%s\n",c);
return 0;
}
执行结果:

图2-1

图2-2
scanf 在使用 %s 读取字符串时会忽略空格和回车。
#include <stdio.h>
int main() {
char c[10],d[10];
scanf("%s%s",c,d);
printf("c=%s,d=%s",c,d);
return 0;
}
执行结果:

图2-3
本文来自博客园,作者:hzyuan,转载请注明原文链接:https://www.cnblogs.com/hzyuan/p/17949995
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)