C语言的空格问题
对于C语言中,一般的理解是对于空格,我们可以随意输入,因为空格没啥大意义,但是事实上并非如此。
1、'\'空格的问题
'\' 字符可用于一些字符进行转移,当然也包括了 newline(enter),被转义的 newline 在逻辑上是对上一行的延续,可以用于连接长长的字符串。但是,如果在:\enter 和 \ enter 是完全不一样的,前者是正确的,而后者会出现错误。
(1) \enter
printf("hello world\
i love linux");
输出的结果为:hello world i love linux,
'\'之后马上接enter(enter 不可见),也就是说 '\'之后的空格被转义为换行,所以以换行的方式打印出结果。
(2)\ enter
printf("hello world\
i love linux");
报错,'\' 之后接的是空格,空格后面没有被转义,所以就被认为是一样,就会出现:缺少换行符的错误。
对于这种错误,是非常难去查找的,因为对于一个 enter 来说,是完全不可见的。
对于此类的问题,在需要对长字符串进行换行的时候,\ 之后就直接 enter。
2、没有空格的问题
一切的祸害都是因为空格,那干脆空格都不要了吧,不行,没有空格反而带出来了其他的问题。
z = y+++++x;
对于此类的问题,完全没有空格,不仅是带来了不变分析代码的麻烦,更会带来报错,因为编译器将上面解析为:z = y++++ + x;。所以上面的代码添加空格为:
z = y++ + ++x;
这样就是正确了。
3、/* 带来的问题
z = *p/*q;
执行上面的代码,本意是执行 p 所指的内与与 q 所指的内容进行取整运算的,但是报错了,原因是编译器将:'/*' 理解为注释了。所以添加空格为:
z = *p / *q;
这就 OK 了。当然括号也是比较好的。
C语言的空格问题的更多相关文章
- C语言输入带空格的字符串
参考:https://blog.csdn.net/vincemar/article/details/78750435 因为: scanf("%s",str); 遇到空格就停止接收后 ...
- 空格和TAB键混用错误:IndentationError: unindent does not match any outer indentation level
转自:http://www.crifan.com/python_syntax_error_indentationerror/comment-page-1/ [已解决]Python脚本运行出现语法错误: ...
- JS 语言核心(JavaScript权威指南第六版)(阅读笔记)
前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分享本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思 ...
- Go 语言基础语法
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") ...
- go语言语法基础
1. go标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号 如:fmt.Println("hello world") 2.行分隔符 在 Go 程序中,一 ...
- Python vs Ruby: 谁是最好的 web 开发语言?
Python 和 Ruby 都是目前用来开发 websites.web-based apps 和 web services 的流行编程语言之一. 这两种语言在许多方面有相似之处.它们都是高级的面向对象 ...
- GO语言学习(五)Go 语言基础语法
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") ...
- go语言学习之路(一)
Go 语言简介 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发, ...
- Go 语言基础语法-Go
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") ...
随机推荐
- [AGC004D] Teleporter [贪心]
题面: 传送门 思路: 分析可知,这道题中的图是一个环套内向树,首都在环上 首先有一个结论:当首都的出边指向首都时,一定最优(不然首都出发可能无法按时到达首都)(可以按时到达的情况也一定有到不了的) ...
- mac 安装 photoshop CS6
终于找到破解了,索性写个图文并茂的全解吧.1. 官方下载photosho CS6 machttp://trials2.stage.adobe.com/A ... hotoshop_13_LS3.dmg ...
- HDOJ 1398 Square Coins
Square Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- Codeforces 460D. Little Victor and Set
D. Little Victor and Set time limit per test:1 second memory limit per test:256 megabytes input:stan ...
- 网页内容切换效果实现的15个jQuery插件
原文发布时间为:2010-02-01 -- 来源于本人的百度文章 [由搬家工具导入] http://www.webjx.com/javascript/jsajax-15550.html
- dedeCMS php标签使用说明和数据库查询说明
1.{dede:php}标签想要输出信息 可以直接使用printf , echo,var_dump 之类的打印出来 赋值给@me 无效 2.结合sql语句使用方法 例:{dede:php} $ro ...
- luogu 2463 [SDOI2008]Sandy的卡片 kmp || 后缀数组 n个串的最长公共子串
题目链接 Description 给出\(n\)个序列.找出这\(n\)个序列的最长相同子串. 在这里,相同定义为:两个子串长度相同且一个串的全部元素加上一个数就会变成另一个串. 思路 参考:hzwe ...
- Java EE学习记录(一)
话说大家都在说java EE,但是java EE的分层结构如下: 1.数据持久层:主要由一些负责操作POJO(Plain Old Java Object)的类构成,主要负责将数据保存进入数据库; 2. ...
- IOS view的圆角和阴影并存
记录一下这个简单但又难搞的问题,如何设置 view的圆角和阴影并存 UIView *v=[[UIView alloc]initWithFrame:CGRectMake(10, 10, 100, 100 ...
- ansible 文件和目录操作
ansible file 模块参考: refer to https://docs.ansible.com/ansible/latest/modules/file_module.html?highlig ...