由双引号与单引号引起基础知识总结

单引号与双引号

单引号:字符型
双引号:字符串型

  • 单引号引起的一个字符实际上代表一个整数(Ascll码)。
#include<iostream>
using namespace std;
int main(){
	char a='c';
	int b;
	b=a;
	cout<<b;
}

输出结果:
在这里插入图片描述

  • 双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针。该数组会被双引号之间的字符以及一个额外的二进制为零的字符 ‘\0’ 初始化。

例如:
“a"和’a’的区别,前者是字符串,后者是字符。
实际上 ”a” 是 “a\0”,以’\0’结尾。而‘a’单单表示a这个字符。
字符串可以是"abcde"这样的表示多个字符的一个组合,但是’abcde’这样就是错误的!!!

两者的联系:
char str[] = “abc”;
在这段代码中,str是一个char型数组,里面含有三个字符’a’,‘b’,‘c’,可以理解为string,但是在一些用法上有细微差别。

字面量

定义

字符串字面量(stringliteral)是指双引号引住的一系列字符,双引号中可以没有字符,可以只有一个字符,也可以有很多个字符
在这里插入图片描述

理解

“af”=="bbb"这种写法是什么意思?
该式中"af"与"bbb"的字面量不同,所以在判断返回false,反之如果是相同的话返回true

该种用法可以理解为

int func()
{	return 1==2;	}	//错误返回false

EOF 、false、ture

  • EOF== -1
    C标准函数库中表示文件结束符(end of file)
  • false==0
  • ture==1
    false/true是bool类型

strcmp()函数

int strcmp(const char *str1, const char *str2)

函数库:string.h

  • str1 – 要进行比较的第一个字符串。
  • str2 – 要进行比较的第二个字符串。

该函数返回值如下:

如果返回值小于 0,则表示 str1 小于 str2
如果返回值大于 0,则表示 str1 大于 str2
如果返回值等于 0,则表示 str1 等于 str2

应用:

#include <string.h>
 
int main ()
{
   char str1[15];
   char str2[15];
   int ret;
 
 
   strcpy(str1, "abcdef");
   strcpy(str2, "ABCDEF");
 
   ret = strcmp(str1, str2);
 
   if(ret < 0)
   {
      printf("str1 小于 str2");
   }
   else if(ret > 0) 
   {
      printf("str1 大于 str2");
   }
   else 
   {
      printf("str1 等于 str2");
   }
   
   return(0);
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值