c空格和反斜杠
来源:互联网 发布:淘宝联盟如何招代理 编辑:程序博客网 时间:2024/04/30 11:40
首先进行一个测试:
Exp_1:
#include <stdio.h>
int main(int argc,char *argv[])
{
printf("Hello word
");
getch();
}
看到这个地方,不知道大家认为这个程序有什么异常没有, 从我曾经学习过的C语言书籍来看,我得到的知识点是这样的: 在C语言的编译过程中,空格是不被编译的,就是说如果我们在C语言的程序代码中插入一个、两个或者三个,甚至更多的空格,其编译结果是一样的。
例如:
Exp2: 定义函数变量
int iAge; //一个空格
int iAge; // 多个空格
很显然上面的两个定义整型数据的C语句具有一致的效果。
Exp3: 赋值和运算语句
iAge = 100 ; // 赋值运算符的左值和右值之间一个空格
iAge=100; //赋值运算符的左值和右值之间没有空格
iAge+=100; // 加法运算之间没有空格
iAge += 100; //加法运算之间有空格
很显然这些语言也都成立。
是否就是说: 在C语言编译器里面空格是可以被忽略的呢?
虽然上面例举的实例都证明在某些情况下C的编译器会忽略空格,但是不能代表在所有的地方一个空格和两个空格就是一样的。
如果在WinTC上编译或者在Turbo C上编译,可以发现前面的Exp1是不能被编译通过的:
会报: 没有结束引号的字符串 ——》 printf("Hello word
这就证明在C语言中空格也不是随便就可以加的。
那么什么时候空格不能被忽略呢?
下面简单的总结几项, 都是一孔之见,欢迎各位弯腰找板砖..............................
1、 C标准里面规定的组成关键字的字符间不能出现空格,例如:
int 不能写出 i nt
2、 定义用户自定义标识符时,组成标识符的字符间不能有空格,例如:
int iAge; 不能写成 int i Age;
3、 C语言定义的多字符组成的运算符之间不能有空格,例如:
iAge+=100; 这个地方的 +=之间就不能有空格, 这个现象仅限于两字符或者三字符的运算符。当然 ? : 这个运算符除外。
4、 在编辑C源代码时,用户定义的字符串字面值,就是通常说的字符串常量的后引号之间,不能出现回车带来的空格。例如:
“Hello word ”;
不能写成:“Hello word
”;
在第四种情况下可以利用 “ \ ” 符号来消除编辑期间回车带来的副作用。
例如: “Hello Word” ;就可以定义为
"Hello word \
"
*** 重点介绍一下 反斜杠 " \ "
我们知道当我们一行写不下一个C语言语句时, 我们可以使用续行符 "\" 来续行,但是我们依然可以在一行可以写下代码时使用它。如:
Exp4:
printf("Hello Word\! ");
这里会输出什么呢? 一般我们学习是得到的教育是:printf里面的第一个字符串参数原样输出,即会输出: Hello Word\!
但是实际输出却不是上面描述的,而是:
Hello Word!
就是说在C语言编译器里面, 当我们使用单独的一个 "\" 时他就是一个续行符, 哪怕这个续行是在一行也是一样。 (当存在转义序列时除外)。
- c空格和反斜杠
- 斜杠和反斜杠
- 斜杠和反斜杠
- 斜杠和反斜杠
- 正斜杠和反斜杠
- 正斜杠和反斜杠
- 正斜杠"/"和反斜杠"\"
- 斜杠/和反斜杠\区别
- C语言中反斜杠"\"的意义和用法
- C/C++中正反斜杠和转义字符
- C语言,宏定义的反斜杠后不能有空格
- 斜杠和反斜杠的区别
- 斜杠和反斜杠,哪个是哪个?
- 文件路径 正斜杠和反斜杠
- 文件路径--正斜杠和反斜杠
- 正斜杠和反斜杠用法
- 路径问题:斜杠和反斜杠
- 文件路径 正斜杠和反斜杠
- Linux服务器上安装nginx
- python的日志模块logging学习
- maven 实战系列
- 查找——图文翔解RadixTree(基数树)
- Oracle dblink详解
- c空格和反斜杠
- 半角全角 互转
- 使用“控制台”看看谁动了你的奶酪
- 【2015/06/05】学习笔记
- Java DecimalFormat的主要功能及使用方法
- 总结:用一个例子包含c++的所有的基本知识点(一)
- 关于PhoneGap的7件事
- 程序员应该知道的11句话
- Google 2015 I/O大会为我们带来了什么?