转载:https://blog.csdn.net/baiqishijkh/article/details/79236202

在C语言程序编写中,我们有时会遇到一行代码太长而影响阅读或者出现与部分公司或组织要求的编码规范不符的情况,此时我们需要将这行代码分成多行来写。

一、针对一般语句换行
使用\结尾作为换行标记
在编译时,\后面的换行符将被忽略,当做一行处理。比如宏定义时使用
#define my_puts(x) printf("%s", \
x);
和写作
#define my_puts(x) printf("%s",x);
是没区别的。

针对宏定义中换行,换行符\必不可少。针对执行语句的换行,我们同样可以使用\作为换行符,同事当一个语句过长时,直接换行,也并不会影响语句的编译
if(NULL != input\
&& TRUE == input->state)

if(NULL != input
&& TRUE == input->state)
相同,它们所表达的都是
if(NULL != input && TRUE == input->state)

二、针对字符串换行
当字符串过长,写在一行中阅读不便时,我们也可以采用\作为换行标识符
printf("Hello \
world\n");
但是此时使用\作为换行标识符时,需要注意换行后的内容顶格写,如果采取缩进方式的话,开头的空格也会被计算进字符串中
printf("Hello \
world\n")
此处我们在stdout输出的将会是:Hello world 也就是会将world前面的空格计入字符串中去。

很多情况下,我们使用缩进是为了便于代码阅读,针对上述的字符串换行,我们可以采用另外的方式处理
注:C语言规定,连续的用""引起的字符串常量,会默认合并为一个常量字符串

所以在字符串换行处理时,我们可以使用""
printf("Hello "
"world\n");

printf("Hello world");相同。使用""处理方式,我们就可以不用考虑未顶格时的空格会被计入字符串了,可以放心的使用缩进而不至于造成程序代码的误解。
---------------------
作者:baiqishijkh
来源:CSDN
原文:https://blog.csdn.net/baiqishijkh/article/details/79236202
版权声明:本文为博主原创文章,转载请附上博文链接!

C语言一行太长的换行处理的更多相关文章

  1. matlab一行太长

    太长了,一行写不下,所以用...接下一行 例子: x=[ mvnrnd( mu_real(:,1) , cov_real(:,:,1) , round(N*a_real(1)) )' ,... mvn ...

  2. C语言一行语句太长的换行处理方法

    [toc] 1.C语言中代码的多行书写 对C语言初学者来说,编写的程序的功能很简单,一句代码很短,但是在实际开发中,参数往往很长很多,一句代码可能会很长,需要用多行才能书写. 如果我们在一行代码的行尾 ...

  3. 【我的Android进阶之旅】Android Studio查看Logcat时,如果一行Log太长如何换行显示?

    使用Android Studio一段时间了,还有很多小技巧没有掌握.今天又发现了一个比较好用的小技巧,这里分享出来. 1.Android Studio默认显示效果 比如我们用Logcat来查看打印的L ...

  4. 关于table表格td里内容是数字而且太长不换行的问题

    <p>table{table-layout:fixed}</p><p>table td{word-wrap:break-word}</p><p&g ...

  5. JS拼接字符串太长希望换行保持html格式拼接的方法

    1. 通常情况 tabPeoStr +='<tr class="tabPeo"><td>'+data[i].name+'</td><td& ...

  6. Echarts 折线图y轴标签值太长时显示不全的解决办法

    问题 分析 解决办法 问题 先看一下正常的情况 再看一下显示不全的情况 所有的数据都是从后台取的,也就是说动态变化的,一开始的时候数据量不大不会出现问题,后面y轴的值越来越大的时候就出现了这个显示不全 ...

  7. C语言中一个语句太长用什么换行?

     C语言中一个语句太长用什么换行? 5 C语言中一个语句太长用什么换行?比如我有一个printf语句很长很长,问了美观,我不想写在这一行了,要换到下一行,是不是在这行结尾的时候,要用个什么标识来表 ...

  8. 文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范

    f.replace()with open("xxx","r",encoding="utf-8") as f: 想修改文件中间的数据,有两个办 ...

  9. python入门2 python字符串换行显示、字符串太长\连接多行

    #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 缩进 换行 """ &qu ...

随机推荐

  1. 腾讯域名防封 微信/QQ域名检测,域名防封的原理

    微信屏蔽网页的依据是什么?明面上的原因是网页内容有诱导.诈骗等不和谐的内容时候,被用户举报就会封闭.实际上这只是表面现象,因为我们能明确的感受到不同的阶段,同样的内容,被封杀的频率差别很大的,也就是说 ...

  2. Java基础_死锁、线程组、定时器Timer

    一.死锁问题: 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不可能正常终止. 比如,线程一需要第一把所,此时锁处于空闲状态,给了 ...

  3. 第七章 python基础之函数,递归,内置函数

    五 局部变量和全局变量 name='cyj' #在程序的一开始定义的变量称为全局变量. def change_name(): global name #global 定义修改全局变量. name=&q ...

  4. java面试题,转载自http://www.cnblogs.com/nnngu/p/8471043.html#3914167

    Java面试题库及答案解析   1.面向对象编程(OOP)有哪些优点? 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码的可理解性. 2.面向对象编程有哪些特性? 封 ...

  5. 数据分析 - pandas 模块

    数据读取结构 -  DataFrame Series (collection of values) DataFrame (collection of Series objects) Panel (co ...

  6. jdk与jre与jdk都是干什么的有什么区别和jvm详解:

    1.0,jdk与jre和jvm的区别: JDK(Java Development Kit):指的是Java开发工具集.JDK是整个Java的核心,包括了Java基础类库.Java运行环境(JRE)和J ...

  7. Linux上MongoDB一些设置

    MongoDB启动停止方法 官网安装介绍中依然有启动停止的方式 1 启动 sudo service mongod start 2 停止 sudo service mongod stop 3 重启 su ...

  8. 中crontab定时器里的"2>&1"含义解释

    */1 * * * * /usr/local/php/bin/php posts.php >> /data/logs/audit_bbsposts.log 2>&1 & ...

  9. Java泛型(6):extends和super关键字

    (1) <T extends A> 因为擦除移除了类型信息,而无界的泛型参数调用的方法只等同于Object.但是我们可以限定这个泛型参数为某个类型A的子集,这样泛型参数声明的引用就可以用类 ...

  10. 【Hadoop】Hadoop的数据压缩方式

    概述 ​ 压缩技术能够有效减少底层存储系统(HDFS)读写字节数.压缩提高了网络带宽和磁盘空间的效率.在Hadoop下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要.在这种情况下 ...