对于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语言的空格问题相关推荐

  1. C语言二级必须编译吗,c语言是计算机二级吗

    c语言是计算机二级吗 C语言是一门面向过程的.抽象化的通用程序设计语言,广泛应用于底层开发.C语言能以简易的方式编译.处理低级存储器.接下来由小编为大家整理出c语言是计算机二级吗,希望能够帮助到大家! ...

  2. c语言精髓之编译过程,C语言精髓知识点

    1.字节数: Char:1个字节 Unsigned:1个字节 Short:2/4个字节 Int:2/4个字节 Unsigned int:2/4个字节 编译器在32位一下: Long:4个字节 Unsi ...

  3. 易语言linux静态编译失败,易语言静态编译出现错误求解决

    静态编译程序的时候出现这个... 开始静态链接... LIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt. ...

  4. c语言注释参与程序设计的编译,提高C语言程序设计教学的有益探索

    摘要:在很多学校中,C语言的教学在学校的整个计算机编程语言的教学中占有很大比重,越来越多的学校认识到C语言的程序设计在整个编程中的所扮演的基础性的角色. 关键词:C语言:教学:程序设计 中图分类号:G ...

  5. c语言只需编译 不需连接,C语言程序设计-中国大学mooc

    C语言程序设计-中国大学mooc http://carrottt.blog.bokee.net    2020-6-9 转载自网课答案 (www.daanplus.com) : 完整答案请关注公众号[ ...

  6. 大前端开发者需要了解的基础编译原理和语言知识

    转自:https://yq.aliyun.com/articles/180879 在我刚刚进入大学,从零开始学习 C 语言的时候,我就不断的从学长的口中听到一个又一个语言,比如 C++.Java.Py ...

  7. [GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了什么是GO语言 ...

  8. c语言作业系统输出超限,C语言网Online Judge系统支持语言和编译说明

    Online Judge系统支持语言和编译情况: 语言 编译器 语言版本 编译参数 C gcc 4.6.3 C99 gcc Main.c -o Main -Wall -lm –static -std= ...

  9. makefile:带你了解一种常用于GNU gcc编译的工具语言

    摘要:该文章主要介绍makefile,一种常用语GNU gcc编译的工具语言,同时LiteOS也是利用该文件对工程项目进行make构建生成执行文件的. LiteOS源码中使用makefile进行文件的 ...

最新文章

  1. 这个AI学院取名黄埔,30%学生都是CTO/技术总监,没有落地成果不许毕业
  2. 19、Cocos2dx 3.0游戏开发找小三之Action:流动的水没有形状,漂流的风找不到踪迹、、、...
  3. Asp.net,C# 纯数字加密解密字符串
  4. jquery on()事件
  5. WEKA The workbench for machine learning
  6. galera mysql cluster
  7. Keras-11 GAN MNIST
  8. GET 和 POST的区别(转载)
  9. Java网络连接之HttpURLConnection、HttpsURLConnection
  10. 城市智能公交管理系统方案
  11. 视频教程-Three.Js (WebGL ThreeJs) 网页3D实战视频教程-其他
  12. 大数据平台之数据存储
  13. c语言程序设计网课作业答案,知到C语言程序设计基础网课答案
  14. 全网最详细官网一键换肤教程
  15. python--手机步数----微信运动--支付宝运动等步数刷新
  16. 计算机毕业论文基于Python实现的学生求职招聘兼职平台
  17. 虚拟机打不开是黑屏状态
  18. 技术一般的程序员找工作,如今真的一年比一年难...
  19. 阳光学车隐私政策URL
  20. 5G加速,为什么说紫光股份是运营商市场的大赢家?

热门文章

  1. Mybatis中按照年、季度、月、日、最近七天,查询
  2. ASEMI整流桥ABS210参数,ABS210规格书,ABS210特征
  3. Android项目实战_手机安全卫士软件管家
  4. 均衡教育计算机室整改方案,义务教育均衡发展工作存在的问题整改方案.docx
  5. LVM中VG PV PP LV的概念
  6. rpm安装及卸载软件
  7. 关于left / right / stereo / mono
  8. AD中怎样修改原理图图纸大小
  9. 网站使用手机相机_手机如何修改证件照片大小和分辨率
  10. IT培训行业揭秘(五)