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遇到空格、制表符和换行符就会停止读取

相关推荐
小郝 小郝2 小时前
51 与32 单片机LED控制详解
c语言·开发语言·经验分享·学习·51单片机
星空露珠2 小时前
迷你世界UGC3.0脚本Wiki全局函数
开发语言·数据库·算法·游戏·lua
金山几座2 小时前
C#学习记录-类(Class)
开发语言·学习·c#
AsDuang2 小时前
Python 3.12 MagicMethods - 55 - __irshift__
开发语言·python
共享家95273 小时前
Java入门(多态)
java·开发语言
机器视觉知识推荐、就业指导3 小时前
拆 Qt,为什么要先引入libmodbus?
开发语言·qt
2401_857865233 小时前
C++模块接口设计
开发语言·c++·算法
蓝莓星冰乐3 小时前
第一章:C语言概述与环境搭建
c语言·开发语言
add45a3 小时前
嵌入式C++低功耗设计
开发语言·c++·算法