在使用字符串的过程中,我们经常会用到转义字符,如’/?‘、‘//’、‘/'’……等等。对字符串中的转义字符进行操作时,有可能会误认为这是两个字符,需要我们根据转义的定义,将这两个字符转换为一个字符。其实完全不需要,因为对字符串进行操作时,计算机自动地将它们识别为一个字符。

#include "stdio.h"int my_print_str (char* strPrnt)
{int iCnt = 0;while (*strPrnt){/* 开始转义 */if (*strPrnt == '\\'){switch (*++strPrnt){case '\\':putchar ('\\');break;case '\?':putchar ('\?');printf ("Function is here!\n");break;case '\'':putchar ('\'');break;case '\"':putchar ('\"');break;}iCnt++;strPrnt++;}else{putchar (*strPrnt);iCnt++;strPrnt++;}}return iCnt;
}int main ()
{int len = my_print_str ("\?");return 0;
}

我们认为的结果应该是:

[Running] gcc main.c -o main
?Function is here!
[Done] exited with code=0 in 4.487 seconds

实际的结果为:

[Running] gcc main.c -o main
?
[Done] exited with code=0 in 4.487 seconds

实际上,代码根本就没有进入"case '\?':"语句。

/?、//、/'……等等是一个字符相关推荐

  1. 字符常量和仅包含一个字符的字符串之间的区别

    'x'与"x"是不同的,前者是一个整数,其值是字母x在机器字符集中对应的数值(内部表示值),后者是一个包含一个字符(即字母x)以及一个结束符'\0'的字符数组.

  2. php去掉字符串的最后一个字符 substr()的用法

    今天项目中用到,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下: $str = "1,2 ...

  3. java字符存储_用java的类集框架做一个字符存储器(15)

    11.这是java的关于java的类集框架做一个字符存储器的源代码可以直接进行编译运行,希望大家能够从中获益良多. package niming; //导入ArrayList这个类 import ja ...

  4. [Linux]从控制台一次读取一个字符,无需等待回车键

    [Linux]从控制台一次读取一个字符,无需等待回车键 周银辉 读取字符嘛,可以使用getchar(),getch()等等函数,但它们都需要等待回车键以结束输入,而不是按下键盘时立即响应,看上去不那么 ...

  5. Java:判断一个字符串中是否存在另一个字符子串以及判断一个字符串中是否存在指定字符

    Java:判断一个字符串中包含指定字符子串,判断一个字符串中存在指定字符 字符串的contains方法可以判断一个字符串中是否存在另一个字符子串,示例如下 String Str = "Hel ...

  6. php 正则 最后一个字符,关于正则表达式:在PHP中查找字符串中的最后一个字符...

    我正在用PHP进行一些URL重写,需要找到末尾有斜线的URL,然后执行301重定向.我以为会有一个简单的PHP函数来查找最后一个字符串,但我找不到任何东西.第一直觉让我觉得我需要使用regex,但我不 ...

  7. html判断数字数据的大小写,判断一个字符是否是数字、还是大小写字母

    //方法一: int main() { printf("please input one character:\n");         input=getchar(); whil ...

  8. python中如何判断输入的是英文字母_python如何判断一个字符是否为汉字,英文字母,数字,空还是其他...

    一直在忙工作的事情,对不起大家,今后一定抽出时间来写python,和大家一起学python. 今天给大家一段代码,大家可以看一下哈. # 判断一个字符是否为汉字,英文字母,数字,空还是其他 # 使用U ...

  9. 定义一个有参宏判断一个字符是否在0~9之间

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 12.定义一个有参宏IS_DIGIT(ch),当ch是一个0~9的字符时,返回1,否则 ...

  10. 谷歌程序员犯低级错误?少打一个字符引发重大 Bug,致大量 Chromebook 无法解锁...

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 初学编程的程序员难免会犯一些低级错误,这不难理解. 可当这种低级错误出现在谷歌经过三个开发者版本进而推出的 Chrome OS 正式版中 ...

最新文章

  1. Spring 2.5架构图
  2. Amarino例程无法使用的问题
  3. boost::multiprecision模块实现MPC后端对多精度复数的使用的测试程序
  4. 36/100. Generate Parentheses
  5. Problem D: 删出多余的空格
  6. Unreal Engine 4 —— 使用ProceduralMeshComponent实现模型实时切割
  7. werkzeug routing.Map
  8. python交互式数据可视化_基于Python实现交互式数据可视化的工具,你用过几种?...
  9. 对样式overflow的学习
  10. springboot怎么返回404_springboot异常处理之404
  11. 班级管理servlet项目开发详细讲解,其中涉及js、jq、ajax、等多项技术合计,本项目来源自网络,如有雷同,请私聊博主
  12. java面试知识题 app_java面试宝典_java面试宝典下载app_java面试题大全带答案
  13. ASP.NET MVC随想录——锋利的KATANA
  14. bae 3.0 mysql_应用引擎BAE3.0介绍及百度BAE3.0支持并发多少
  15. Unity 用ml-agents机器学习造个游戏AI吧(2)(入门DEMO)
  16. 【TAGE】分支预测
  17. Excel收纳箱:VBA一键删除当前工作表的条件格式
  18. 酷客scrm发布:陌生人扫码进群原来是这么回事
  19. php将excel数据导入mysql表中_【PHP】将EXCEL表中的数据轻松导入Mysql数据表
  20. 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)

热门文章

  1. CSS3实现32种基本图形
  2. Kali Linux渗透测试之端口扫描(一)——UDP、TCP、隐蔽端口扫描、全连接端口扫描
  3. Qt在linux和widows下获取IP列表,网关,子网掩码,广播地址
  4. 文盲确定为不能用计算机,最初人们把文盲定义为 “不识字的人”;后来又把文盲确定为“看不懂现代信息符号、图表的人”;而现在联合国把文盲确定为“不能用计算机交流的人”。从哲学上看,这表明...
  5. 项目管理全过程最佳实践(上)
  6. Python 金融数据分析_8_Python基础(2)
  7. Webpack5 - 常用Plugin(插件)
  8. 简单到出人意料的CNN图像分类策略
  9. Hamming Weight的算法分析
  10. 如何让内容运营渗透产品,带动产品高速成长