当前位置: 首页 > news >正文

重庆网站建设冒号做网站优化给业务员提成

重庆网站建设冒号,做网站优化给业务员提成,大连网站的公司,nas wordpress备案1 .strlen C库函数size_t strlen(const char* str)计算字符串str的长度,直到空字符,不包括空字符。在C语言中,字符串实际上是使用空字符\0结尾的一维字符数组。空字符(Null character)又称结束符,缩写NUL&…

1 .strlen

C库函数size_t strlen(const char* str)计算字符串str的长度,直到空字符,不包括空字符。在C语言中,字符串实际上是使用空字符\0结尾的一维字符数组。空字符(Null character)又称结束符,缩写NUL,是一个数值为0的控制字符,\0是转义字符,意思是告诉编译器,这不是字符0,而是空字符。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main() {char str[10];str[0] = 0;printf("strlen(str):%d\n",strlen(str));printf("%s\n",str);//此时str是一个空字符串//sizeof(str)返回的是字符数组的大小printf("sizeof(str):%d\n",sizeof(str));return 0;
}

输出

strlen(str):0sizeof(str):10

再看把str设置为长度为9的字符串的情况

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main() {char str[10]="123456789";printf("strlen(str):%d\n",strlen(str));printf("%s\n",str);//此时str是一个空字符串//sizeof(str)返回的是字符数组的大小printf("sizeof(str):%d\n",sizeof(str));if(str[9] == 0)printf("str[9] is NUL");return 0;
}

输出

strlen(str):9
123456789
sizeof(str):10
str[9] is NUL

如果不给空字符留一个位置,会报错:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main() {char str[10]="1234567899";printf("strlen(str):%d\n",strlen(str));printf("%s\n",str);//此时str是一个空字符串//sizeof(str)返回的是字符数组的大小printf("sizeof(str):%d\n",sizeof(str));if(str[9] == 0)printf("str[9] is NUL");return 0;
}

报错:

main.cpp:6:18: error: initializer-string for char array is too longchar str[10]="1234567899";^~~~~~~~~~~~
main.cpp:7:31: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]printf("strlen(str):%d\n",strlen(str));~~    ^~~~~~~~~~~%zu
main.cpp:10:31: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]printf("sizeof(str):%d\n",sizeof(str));~~    ^~~~~~~~~~~%lu
2 warnings and 1 error generated.

2.strcat

strcat函数原型是char *strcat(char *dest,const char *src)。

传入的dest必须是以NUL结尾的合法的字符串。如果dest不是以NUL结尾的字符串,会导致未定义行为,具体效果看编译器的实现。

错误示例:

#include <stdio.h>
#include <string.h>int main() {char str1[10];for(int i = 0;i < 10;i++)str1[i] = -1;char str2[10] = "123456789";//错误示例strcat(str1,str2);printf("str1:%s\n",str1);return 0;
}

Ubuntu 20.04.6 LTS +gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0,效果如下:

str1:����������123456789123456789
*** stack smashing detected ***: terminated
Aborted

http://www.dtcms.com/a/573905.html

相关文章:

  • 影刀RPA完全指南:从零入门到自动化高手(2/10)
  • 学习笔记:Jquery getJSON方法分析(一)
  • Linux--进程池
  • 洞头区网站建设收费网站模板制作步骤
  • wordpress直接自己网站怎么做优化
  • 【开题答辩全过程】以 分布式菌菇销售系统为例,包含答辩的问题和答案
  • ui设计网站建设是什么意思深圳做网站制作
  • Canal:让 MySQL 数据同步像呼吸一样自然
  • PE工具开发实战:非正向与安全解析
  • 进一步加强网站建设管理郑州app拉新项目
  • 徐州百度推广总代理台州专业关键词优化
  • C++ 中模板元编程与 SFINAE 机制
  • 【实用运维工具】一键完成Oracle数据库的健康巡检,生成WORD报告
  • ICLR 2025 Spotlight | 打破AI“黑箱”!最新IIS评分框架:揭示模型性能与可解释性的共生关系
  • Java实现国密算法 SM2 /SM3 /SM4(基于 BouncyCastle)
  • 文件网站建设高新公司网站建设哪家好
  • Zabbix企业级分布式监控系统(上)
  • 深度解析:接口性能优化实战指南
  • 站点创建成功html代码hr表示
  • 一、Netty-高并发IO底层原理(5种主要的IO模型)
  • 网站开发外包 验收c2c有哪些网站
  • Jenkins是什么
  • 建网站公司浩森宇特大连网络营销师招聘网
  • LeetCode - 杨辉三角 / 二叉树的最大深度
  • RV1126 NO.39:OPENCV查找图形轮廓并画框
  • 【第1章>第3节】基于FPGA的图像腐蚀处理算法的Verilog实现
  • 西安电子科技大学信息化建设处网站模板建站排版跟没缓存好似的
  • 神经网络—— 学习与感知器(细节补充)
  • tensorflow 图像分类 之一
  • 自己网站上做淘宝搜索引擎网站开发属于什么行业