#include<stdio.h>
#include<string.h> 
int main()
{
 int a,i=0;
 char ch[10000];
 while(scanf("%d",&a)!=EOF&&a!=-1)
 {
  ch[i++]=a;
 }
 /*
 测试结果 sizeof 测试的是总空间  包括\0
 strlen 测试的 是遇到第一个\0之前的长度
 */
 printf("sizeof计算的长度:%d\n",sizeof(ch));
 printf("strlen计算的长度:%d\n",strlen(ch));
 char th[]={"abc"};
 puts(th);
 printf("sizeof计算的长度:%d\n",sizeof(th));
 printf("strlen计算的长度:%d\n",strlen(th));
// char sh[];
 char sh[]={'a','b','c','\0'};//char sh[]={'a','b','c'};这是错误的赋值方式 这样赋值后面没有\0  打印的结果是abcabc   sizeof少一个
// memset(sh,0,sizeof(sh));
// sh[0]='a';
 puts(sh);
 printf("sizeof计算的长度:%d\n",sizeof(sh));
 printf("strlen计算的长度:%d\n",strlen(sh));
} // 测试数据
/*
1 0 2 0 1 0 0 -1
平常以为长度为 7
高精度运算时 初始化后为空 所以计算时加字符0 不然他会出事的
*/

字符串赋值方式理解 sizeof 和strlen的一些区别的更多相关文章

  1. 说明sizeof和strlen之间的区别。

    解析:由以下几个例子我们说明sizeof和strlen之间的区别.第1个例子: sizeof(ss)结果为4,ss是指向字符串常量的字符指针.sizeof(*ss)结果为1,*ss是第一个字符.第2个 ...

  2. c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式

    c++字符串声明:一种是声明字符数组并赋值,另一种是直接声明string类 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #incl ...

  3. (三)论sizeof与strlen之间的区别

    一.sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等.    它的功能是:获得保 ...

  4. PHP字符串定义方式和单引号双引号的区别

    $str=<<<任意标记 ......................... .............................. 任何标记; 单引号和双引号的区别? ''号 ...

  5. sizeof()和strlen()

    sizeof计算的是栈中大小 P { margin-bottom: 0.21cm; direction: ltr; color: rgb(0, 0, 0); text-align: justify } ...

  6. C-基础:详解sizeof和strlen,以及strstr

    sizeof和strlen (string.h) 先看几个例子(sizeof和strlen之间的区别):  (1) 对于一个指针, char* ss ="0123456789"; ...

  7. sizeof()与strlen()的区别

    首先需要说明的是sizeof和strlen都可以求长度,但是却有很大的区别,简单来说可以概括为以下几点: 1.sizeof是一个关键字,而strlen确实一个函数. 2.sizeof求的是字节长度,而 ...

  8. 字符串赋值给字符指针(char *a="hello")的正确理解方式

    对于语句  char *a="hello"; 对于这个声明方式,会造成的误解是:声明了一个字符指针(它会指向一个位置),将“字符串”赋值给 指针表达式"*a"所 ...

  9. sizeof、strlen、字符串、数组,整到一块,你还清楚吗?

    写在前面 sizeof.strlen.字符串.数组,提到这些概念,相信学过C语言的人都能耳熟能详,也能谈得头头是道,但是,在实际运用中,当这些内容交织在一起时,大家却不一定能搞地清清楚楚,本文的目的正 ...

随机推荐

  1. Codeforces643A【一种暴力】

    mdzz,今天好烦啊,连特么暴力都不会写了. 题意是:给你n个数(<=n),然后让你求对于每个数输出含有他最多数量的区间数,还有如果存在相等的话,这个区间算小的那个 思路: 暴力起点,然后从小区 ...

  2. [Xcode 实际操作]九、实用进阶-(29)为App添加IAP(支付方式)内购项目

    目录:[Swift]Xcode实际操作 首先请阅读:[Xcode10 实际操作]九.实用进阶-(28)在iTunes Connect(苹果商店的管理后台)中创建一个新的新的APP 本文将演示如何给刚刚 ...

  3. element走过的坑

    1.想要更改表头颜色,只要在el-table里引入 :header-cell-style="{background:'red'}" 2.el-form自定义表单验证 , 但是左边不 ...

  4. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:6. 设备事件上报

    文档目录: 说明 1. 连接阿里云物联网 2. IoT 客户端 3. 订阅Topic与响应Topic 4. 设备上报属性 4.1 上报位置信息 5. 设置设备属性 6. 设备事件上报 7. 服务调用 ...

  5. MyBatis逆向工程代码的生成以及使用详解(持续更新)

    逆向工程简介什么是逆向工程:        mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.ma ...

  6. 关于 js中的arguments 对象

    arguments对象包含了函数运行时的所有参数,arguments[0]就是第一个参数,arguments[1]就是第二个参数,以此类推.这个对象只有在函数体内部,才可以使用. var f = fu ...

  7. tinymce 富文本简单使用

    tinymce.init({ //选择器 selector:'textarea', //配置顶部的菜单栏显示隐藏 menubar: false, //配置中文(默认没有中文包,需要到官网下载,放到la ...

  8. 洛谷 P1094 纪念品分组

    P1094 纪念品分组 先按价格对纪念品排序(这里是从大到小),然后从两端向中心开始配对,有两个变量i和j,表示正在处理的两个纪念品编号,开始时i=1,j=n,如果a[i]+a[j]>w则第i贵 ...

  9. mysql(MySQL客户端连接工具)

    在MySQL提供的工具中,DBA使用最频繁的莫过于mysql.这里的mysql不是指MySQL服务,也不是mysql数据库,而是连接数据库的客户端工具.类似于Oracle的sqlplus. 语法: m ...

  10. 关于pycharm的一个imoprt的随笔

    近来发现pycharm一个方便的地方,from 文件夹名.组件名 import 方法(引入和父级目录同级文件夹下的模块),在pycharm中这种引用是能够成功的,但是在python自带的IDLE中不能 ...