字符串同数组名是一个地址变量,不能直接赋值,更不能用==来判断两个字符串是否相等

从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南 本文详细介绍了基于ESP32S3硬件和Python后端的智能语音助手系统开发指南。系统采用ESP32S3采集语音,通过WebSocket实时传输到Python后端处理,利用大语言模型实现自然语言理解和意图识别,再通过TTS合成语音返回。文章从系统架构、工作流程、技术实现(包括OPUS编码、WebSocket通信、ESP32音频处理)等方面进行了详细讲解,并提供了分阶段学习路线和常见问题解决方案。该项目展示了物联网技术与AI技术的融合应用,相比传统语音系统具有更高的灵活性和智能性,为开发者提供了完整的实现方案 阅读详情


 %s 用来控制输入以及输出的字符串

    

 

    注意:

        1.数组名是一个地址常量,所以如果用scanf进行输入的话,只要写数组名就行了,不要加&

 

        2.千万要记得,准备输入的时候,数组一定要足够长,不然可能出现未知错误,把数据写到其他人的空间里


        (越界造成的)

 

 

    再注意:

                   如果要比较两个字符串是否相等,不能用==来判断!

 

 

 如果,就是想判断他们内容是否相等,怎么办??

 

    第一步:导入头文件 #include <string.h>

    第二步:使用strcmp

                    

                    使用方法:strcmp(字符串1,字符串2);

 

                    如果返回0,代表两个字符串相等

 

 

 练习:写一个登录功能!账号要求输入admin 密码要求输入123456,如果正确提示登录成功,否则登录失败!

 

             写完以后弄成循环的,只要账号或密码有错就一直让它输入,如果输入成功,提示登录成功,结束循环

 

        分析:

            1.接收用户输入的账号以及密码

               

               用字符串来接收

 

            2.如果 账号 等于 admin  并且 密码等于 123456

 

                    登录成功

 

              否则

                    

                     登录失败

 

        1.我不知道循环的次数,所以可以死循环

            

           如果登录成功则跳出循环(break);

 

           否则继续循环

新手必看:CiscoPacket Tracer从零搭建局域网(含ARP协议详解) 本文为网络新手提供了一份使用Cisco Packet Tracer从零搭建局域网的详细指南。通过构建基础网络拓扑、配置IP地址,并深入剖析ARP协议的工作原理,帮助读者理解IP地址与MAC地址的映射关系,掌握局域网通信的核心机制。 阅读详情

相关推荐

Windows 11 下 WSL 离线安装 Ubuntu 22.04 保姆级教程(国内镜像加速版)

本文提供了一份针对中国地区用户的Windows 11下WSL离线安装Ubuntu 22.04的详细教程。通过使用国内镜像源加速下载安装包,并配合PowerShell命令完成部署,有效解决了官方商店下载缓慢的问题。教程涵盖环境准备、离线包获取、安装初始化及安装后的关键优化配置,帮助用户快速搭建高效的Linux开发环境。

weixin_28452161的博客 1378

String类

文章目录String类介绍1. String s = new String("hello") **创建了几个字符串对象**?2. 字符串比较:= 和 equals 的区别是什么?3.字符串拼接4. String和StringBuilder、StringBuffer的区别? String类介绍 String 类代表字符串,String实例的值是通过字符数组(char[])实现字符串存储的。String类不属于Java基本数据类型,使用 final 修饰(创建之后不能修改),无法被继承。 有两种创建方式: 直

loong_的博客 372

手把手用瑞萨E1仿真器调试RH850 CAN通信:从报文收发到底层寄存器监控

本文详细介绍了使用瑞萨E1仿真器调试RH850 CAN通信的全过程,包括硬件连接、CS+开发环境配置、CAN控制器寄存器解析以及双通道网关实战开发。通过实战案例和错误诊断技巧,帮助开发者快速掌握RH850F1L的RS-CAN控制器应用,提升车载网络开发效率。

weixin_30919429的博客 163

二维数组与指针的关系以及字符数组为什么不能直接赋值

二维数组 数组指针 指针

weixin_60208935的博客 2360

电路抗干扰原理及应用(1)

电路抗干扰原理——介绍干扰源、干扰途径、抗干扰技术(接地技术)

qq_34758408的博客 2061

Carla自动驾驶仿真一:快速安装与运行Carla

网上有不少的Windows版本的Carla的安装教程,这里简单记录下自己安装过程,写的也比较详细,基本不用看其他文章。

zataji的博客 2万+

c语言 - 字符串总结

一.(1) 字符串变量名就是首地址。 字符串在输入的时候不需要加上“&”符号,字符串本质就是地址。 注意:打印的时候,倘若是一个*p指向的字符串,打印不需要加解引用p,直接p就可以了。 #include <stdio.h> int main(){ void *p; char a[99]="字符串"; p=a;//由于a变量名就是这个字符串的地址,所以不需要加上”&“ printf("%s",p);//这里打印的时候p代表a的地址,*p代表a地址里面的东西,但是字符串实质上

qq_52347540的博客 3510

国科大学习资料--高级软件工程-复习题简答题答案

国科大学习资料–高级软件工程(罗铁坚 魏峻 刘丹)-复习题简答题答案 def fib3 n (1…n).inject([0,1]){|mem| puts mem[0]+mem[1]; [mem[1],mem[0]+mem[1]]} end =====================================================================================================================================

无名何许人的博客 1399

C++字符串操作

字符串操作1.输入字符串2.字符串输出3.字符串长度4.字符串分割5.字符串比较6.字符串赋值7.判断字符串是否为空8.字符串拼接9.数组形式操作10.单个字符操作 1.输入字符串 字符串就是字符数组加上结束符 ‘\0’ 1.1 getchar() 可以读取键盘输入的单个字符 1.2 fgets(数组名, 字符个数, stdin) 读入到数组中(stdin 系统已经定义好),遇回车结束 char ch[100]; fgets(ch, 100, stdin); 1.3 getline(cin, 字符串名)

ManiacLook的博客 8030

RK3568 HDMI输出调试:分辨率切换与EDID解析

厂商信息(Vendor ID)显示器型号(Product ID)支持的分辨率列表色彩特性音频支持情况检查项方法HPD 信号EDID 读取当前模式TMDS 时钟PHY 状态。

小灰灰的博客 1487

STM32电机PID速度控制

2.3 STM32电机PID速度控制 之前的文章,完成了直流减速电机的PWM控制、电机测速。本篇文章,将实现电机的速度闭环控制。 在公众号:小白学移动机器人,发送:速度PID,即可获得本篇文章的STM32工程文件以及相关资料。 2.3.1 解决的问题 解决带编码器直流电机的速度闭环问题。 2.3.2 PID理论 将偏差的比例、积分、微分,通过线性组合构成控制量,用控制量对被控对象进行控制,这样的控制器称为PID控制器。在连续空间中,我们通常探讨模拟PID的控制原理,如图所示: 我们这里用电机速度控制为例,

「小白学移动机器人」一个专注分享移动机器人相关知识的公众号! 6万+

字符串实质,sizeof & strlen

C语言用指针来管理字符串 char *p=“linux” 此时,p只是一个字符指针(本质上就是一个指针变量,只是p指向了一个字符串的起始地址而已) C语言中字符串的本质:指针指向头、固定尾部的地址相连的一段内存 字符串就是一串字符,字符反映在现实中就是文字、符号、数字等人用来表达的字符,反映在编程中字符就是字符类型的变量。C语言中使用ASCII编码对字符进行编码,编码后可以用char型变量来表示...

qq_41719582的博客 529

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

为什么数组变量不能赋值字符串常量

为什么数组变量不能赋值字符串常量 好几年不碰C语言了,遇到了个很初级的问题居然一时间懵了,问了一下身边的人居然也解释不清,记录一下。 char c[10]; printf("c = %s\n",c); 大家都知道这种写法是错误的,但是为什么是错的呢? 在《c与指针》这本书里就提到过: 字符串常量的直接值是一个指针,而不是这些字符本身。 而我们都知道数组名本身就是一个地址常量,而地址常量是不可改变的。 所以c=“hello”; 这条赋值语句就相当于在改变数组的地址常量,这显然是错误的。 这里还有个问

txlfreedom的博客 1308

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

11、为什么字符串可以直接赋值给字符指针变量?

今天看到了gets()与puts()函数,发现了一个奇怪的点:字符串可以直接赋值给字符指针变量。例如以下: char * p="EDS"; puts(p); //输出结果为EDS 学过指针让我清楚明白了指针变量是不能直接赋值的,而这里的字符指针却直接被赋值字符串。这让我深感疑惑了,经过查阅,才知道: char * p="EDS"; 双引号在这里做了这三件事情: 1. 申请了空间(在...

懵逼是一种状态的博客 6974

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

数组之间的赋值(数组之间不能直接赋值arr1≠arr2) -- C语言

数值之间不能直接赋值,即arr1≠arr2。不能直接赋值,那有没有别的办法赋值呢?数组之间赋值的案例怎么分析?

weixin_51626258的博客 1万+

数组之间不能直接赋值,为什么?赋值有四种方法

数组和数组之间能直接赋值吗?——不能 你难道是想 a=b?? 首先你要明白: 数组名a,b代表指针常量,所以说赋值号左边必须是一个变量 a=b; 根本就是错误的 注意:数组名是常量,指针一般都是变量,当然也可以是常量。查看:https://blog.youkuaiyun.com/cyj2014go/article/details/78203404 法一: 当然你的想法也有可取之处,取地址运算,把数...

Hello,小高同学 3万+

C语言字符串赋值的方法

首先,C语言没有向C++,Java,python等面向对象的语言中string这样的字符串类型,C语言中的字符串是存放在字符型数组中的 C语言中,常见的3种字符串赋值有如下: 1、通过字符数组直接初始化 int main() { char str[10] = "China";//还可以写成char str[10] ;str[10] = "China"; printf("str = %s", &str); return 0; } 但是,直接把数组元素赋值给数组名(也就是数组首元素的地址),是不

shanglala的博客 13万+

c语言指针赋值指针变量赋值吗,C语言_指针变量的赋值与运算,很详细

指针变量的赋值指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值。未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。在C语言中, 变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。 C语言中提供了地址运算符&来表示变量的地址。其一般形式为: & 变量名; 如&a...

weixin_42471237的博客 1万+

为什么不能用赋值语句将一个字符串常量直接赋给一个字符数组?

不能直接赋值,这是一定的,因为有太多的不确定性,容易发生错误赋值可以使用strcpy函数,strncpy函数,或者sprintf函数都行,直接等于是不行的~~~~规定不能整体引用,只能单个引用赋值除了按字符串输入赋给字符数组,或者初始化为字符串外,一般只能单个元素赋值数组名是一个地址常量,不允许改变,但是数组中的元素是变量,可以改变赋值(数组名这个地址[常量]就是元素[变量]的存放位置)a[]是一...

scc_722的博客 1万+

数组和字符串赋值的问题(定义时不初始化)

实际操作中,我们很多时候要输入数组元素的值,我们只能定义数组类型和大小(通常往大了定,保证输入够用),比如`int a[100]`。而往往课本上很多时候都是定义数组时就进行了初始化,某天下午我突然想理清一下两者的差别,中间犯了许多错误,有些感悟,便写成一篇随笔

C语言/数据结构/数学建模/深度学习/生物信息 1万+

从汇编语言的角度看清数组名和指针变量的区别

当初学c语言总感觉数组名和指针之间有种说不清道不明的关系,两者很像,但是又有着解释不清的区别。 数组名和指针的区别 用常量初始化字符数组和指针变量

lwoyvye 3418

字符数组可以初始化赋值,却不能直接赋值,为啥?

这是由C语言的设计规则和底层内存管理机制决定的。下面详细解释原因。

andy0ma的博客 1012

c语言判断指针相等,[翻译]C语言中指针和数组是否相等?

这是一个简单的问题,但总是被忽略。特此翻译了一篇博客,讲的很清楚。这里是博客的原地址Are pointers and arrays equivalent in C?C语言中指针和数组是否相等?简短的答案:不相等。详细的答案:这依赖于如何定义“相等”。指针运算和数组下标是相等的,其他方面指针和数组是不同的。一个简单的例子展示相等性:#include int main(){char arr[] = "...

weixin_33171065的博客 1663

解析:数组名a、数组名取地址&a、数组首地址&a[0]、数组指针*p

解析:数组名a、数组名取地址&a、数组首地址&a[0]、数组指针*p_LoongTech的博客-优快云博客_数组取地址 数组和指针向来就是傻傻分不清,当他们一起出现的时候就更加懵逼。 1 解析不同变量之间的区别: 数组名a: 数组名可以作为数组第一个元素的指针。我们由数组和指针的关系知道,a代表这个地址数值,它相当于一个指针,指向第一个元素(&a[0]),即指向数组的首地址。数组中的其他元素可以通过a的位移得到,此时的进阶是以数组中单个的元素类型为单位的,即a+i= &a

pikachu_beta的博客 2326

C语言---指针变量的赋值与运算

指针变量的赋值 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。 C语言中提供了地址运算符&来表示变量的地址。其一般形式为: & 变量名; 如&...

cangqiong_xiamen的博客 1万+

C语言 变量、数组、结构体中的赋值

C语言指针-赋值篇问题来源变量赋值数组赋值结构体赋值 今天主要就是一个 关于 C语言变量、数组、结构体等 赋值的一篇文章 问题来源 今天有个同学问了我一个问题? ![定义了一个结构体](https://img-blog.csdnimg.cn/20190516095846653.png), student.name = "abcd"; 为什么是错的?为什么不能赋值?应该怎...

小豹Miss鲍的博客 3628
上一篇: 字符串是什么?字符串应用在什么场景中?如何定义字符串
下一篇: 字符串的数组表示法&指针表示法&常量表示法
iOS_houyimin
博客等级 码龄11年 1粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值