C语言一行太长的换行处理
转载: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语言一行太长的换行处理的更多相关文章
- matlab一行太长
太长了,一行写不下,所以用...接下一行 例子: x=[ mvnrnd( mu_real(:,1) , cov_real(:,:,1) , round(N*a_real(1)) )' ,... mvn ...
- C语言一行语句太长的换行处理方法
[toc] 1.C语言中代码的多行书写 对C语言初学者来说,编写的程序的功能很简单,一句代码很短,但是在实际开发中,参数往往很长很多,一句代码可能会很长,需要用多行才能书写. 如果我们在一行代码的行尾 ...
- 【我的Android进阶之旅】Android Studio查看Logcat时,如果一行Log太长如何换行显示?
使用Android Studio一段时间了,还有很多小技巧没有掌握.今天又发现了一个比较好用的小技巧,这里分享出来. 1.Android Studio默认显示效果 比如我们用Logcat来查看打印的L ...
- 关于table表格td里内容是数字而且太长不换行的问题
<p>table{table-layout:fixed}</p><p>table td{word-wrap:break-word}</p><p&g ...
- JS拼接字符串太长希望换行保持html格式拼接的方法
1. 通常情况 tabPeoStr +='<tr class="tabPeo"><td>'+data[i].name+'</td><td& ...
- Echarts 折线图y轴标签值太长时显示不全的解决办法
问题 分析 解决办法 问题 先看一下正常的情况 再看一下显示不全的情况 所有的数据都是从后台取的,也就是说动态变化的,一开始的时候数据量不大不会出现问题,后面y轴的值越来越大的时候就出现了这个显示不全 ...
- C语言中一个语句太长用什么换行?
C语言中一个语句太长用什么换行? 5 C语言中一个语句太长用什么换行?比如我有一个printf语句很长很长,问了美观,我不想写在这一行了,要换到下一行,是不是在这行结尾的时候,要用个什么标识来表 ...
- 文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范
f.replace()with open("xxx","r",encoding="utf-8") as f: 想修改文件中间的数据,有两个办 ...
- python入门2 python字符串换行显示、字符串太长\连接多行
#coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 缩进 换行 """ &qu ...
随机推荐
- NSObject和反射
如何NSObject和反射 NSObject 常用方法 如何判断 某个对象是否属于某个类或子类 -(BOOL)isKindOfClass:(Class)aClass 判断是否为aClass的实例(不包 ...
- 栈的数组和链表实现(Java实现)
我以前用JavaScript写过栈和队列,这里初学Java,于是想来实现栈,基于数组和链表. 下面上代码: import java.io.*; //用接口来存放需要的所有操作 interface st ...
- Codeforces 126B. Password(KMP,DP)
Codeforces 126B. Password 题意:一个字符串,找出最长的子串t,它既是前缀又是后缀,还出现在中间.输出t,不存在则输出Just a legend. 思路:利用KMP算法处理出n ...
- mybatis之<trim
1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=&quo ...
- 适配iphone X
首先需要为meta标签加上viewport-fit=cover,默认viewport-fit=contain,跟background-size类似.当值设置为cover既可让安全区域铺满全屏,就跟适配 ...
- mybatis中添加时间字符串条件
<if test="operatorDateStart != null and operatorDateStart !='' " >operator_date > ...
- 第11组 Alpha冲刺(2/6)
第11组 Alpha冲刺(2/6) 队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11860949.html 作业博客 https://edu ...
- AB窗体互传参数本质
一.找了好几个,都不靠谱,不是说不靠谱,自己感觉太繁琐,根本就是本窗体的属性(对象)的传递,1实例化2把实例化后的窗体属性=本窗体的对象 二.传递的的时候都是在互相引用的时候传递,推荐的个人认为最简单 ...
- Handler注意事项
一. Handler与Thread的区别. Handler与调用者处于同一线程,如果Handler里面做耗时的动作,调用者线程会阻塞.Android UI操作不是线程安全的,并且这些操作必须在UI线程 ...
- LinearLayout线性布局
作用 : 线性布局会将容器中的组件一个一个排列起来, LinearLayout可以控制组件横向或者纵向排列, 通过android:orientation属性控制; 不换行属性 : 线性布局中的组件不会 ...