C语言_scanf(),strlen(),size()的特性和各自的区别

觉得有用的看官评论下,评论有用或者1就行了哈,给作者动力啊!

c 复制代码
#include <stdio.h>
#include <string.h>
#define PRAISE "You are an extraordinary being."//这里有31个字符,加上空格和"."
int main(void){
	char name[40];
	
	printf("please input your name!");
	scanf("%s", name);//scanf函数,在输入的字符串中如果遇到空格、制表符和换行符就会自动停止,如果输入Bard James,就只会读取Bard,后面的James读取不了 
	printf("Hello,%s,welcome to my home %s\n", name, PRAISE);//这里会显示Bard,welcome to my home You are an extraordinary being
	printf("Yor name of %zd letters occupies %zd memory cells \n", strlen(name),sizeof name);//Yor name of 4 letters occupies 40 memory cells 
	printf("The phrase of praise  has %zd  letters ", strlen(PRAISE));//这里是31 
	printf("and occupies %zd memory cells.\n",sizeof PRAISE);// 这里sizeof函数,要算末尾的空字符\0 。而strlen函数是不包含\0的 
	return 0;
}

结果如下

sizeof(),和sizeof 字符数组名称 ,比如 :sizeof name

一般建议都用sizeof()

scanf函数和sizeof函数有区别,sizeof读取所有字符,包括空格和小数点,而scanf遇到空格、制表符和换行符就会停止读取

相关推荐
cany1000几秒前
C++ -- 泛型编程
java·开发语言·c++
格林威3 分钟前
面阵相机 vs 线阵相机:堡盟与海康相机选型差异全解析 附C++ 实战演示
开发语言·c++·人工智能·数码相机·计算机视觉·视觉检测·工业相机
时空系30 分钟前
第7篇功能——打造你的工具箱 python中文编程
开发语言·python·ai编程
shughui31 分钟前
2026最新JDK版本选择及下载安装详细图文教程【windows、mac附安装包】
java·linux·开发语言·windows·jdk·mac
AI玫瑰助手35 分钟前
Python基础:集合的定义、去重与交并差运算
开发语言·python·信息可视化
无敌秋36 分钟前
# C++ 工厂方法模式实战指南
开发语言·c++·设计模式
忡黑梨43 分钟前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
skywalk81631 小时前
CodeArts碰到问题:CodeArts 智能体使用失败,显示:会话创建失败,请稍后重试
开发语言·python
白露与泡影1 小时前
从区间锁到行锁:一次高并发写入死锁治理实战
java·开发语言
小短腿的代码世界1 小时前
VLC-Qt深度解析:Qt应用中的专业视频播放方案
开发语言·qt