随笔 - 129  文章 - 3  评论 - 32  阅读 - 15万 

字符串与格式化输入/输出

函数 strlen()

关键字 const

利用#define 和 const创建符号常量

复制代码
#include <stdio.h>
#include <string.h>
#define DENSITY 62.4

int main()
{
    float weight,volume;
    int size,letters;
    char name[40];

    printf("hi , what's your first name \n");
    scanf("%s",name);
    printf("%s,what's your weight in pounds?\n",name);
    scanf("%f",&weight);
    size=sizeof name;
    letters=strlen(name);
    volume=weight/DENSITY;
    printf("well,%s,your volume is %2.2f cubic feet.\n",name,volume);
    printf("Also,your first name has %d letters,\n",letters);
    printf("and we have %d bytes to store it.\n",size);
    return 0;
}
复制代码

 

 

字符串以字符数组的形式存在。字符数组的末尾以\0结尾,并占用一个字符空间。

 

scanf()  只会读取字符串中的一个单词,而不是一整句

 

字符串常量和字符常量的区别:

字符常量X  是基本类型 char   字符串常量是派生类型 char[]

字符串常量X 包含字符X和/0空字符。   而 字符常量X只包含X

 

sizeof 和 strlen()的区别

sizeof是计算空间的大小    比如  name[40]  就是40个大小,而不会管数据一共填充了多少

strlen()是计算数据占用空间的大小。未填充的空间,不会计算。空字符\0也不会占用strlen()的长度

 

posted on   孤独斗士  阅读(135)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示