首页 > 其他分享 >c 语言 换行

c 语言 换行

时间:2024-07-25 21:07:39浏览次数:9  
标签:语言 换行 printf 字符串 world Hello input

 

 

在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");相同。使用""处理方式,我们就可以不用考虑未顶格时的空格会被计入字符串了,可以放心的使用缩进而不至于造成程序代码的误解。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/baiqishijkh/article/details/79236202

 

标签:语言,换行,printf,字符串,world,Hello,input
From: https://www.cnblogs.com/rebrobot/p/18324133

相关文章

  • 麻了,麻了,终于知道c语言为啥那么容易从入门到放弃了
    麻了,麻了,这谁看不迷糊。(温馨提示:出题时程序一般不会将每一种情况列出,会选其中一个或多个;请勿以答案相同认为思路相同)见了这种题怎么办?猜?这多少分之一的概率?死记?它变个数字又不同了,那得记多少?放弃?好像只能这样了。(不行,不行)今天,博主来教你们彻底解决这些问题。众所周知整......
  • 数据库(MySQL)-DQL数据查询语言
        DQL(DataQueryLanguage数据查询语言)的用途是查询数据库数据,如select语句。其中,可以根据表的结构和关系分为单表查询和多表联查。单表查询    单表查询:针对数据库中的一张数据表进行查询全字段查询    语法:select字段名from表名#推荐s......
  • 嵌入式学习第9天——C语言运算符,程序设计结构,输入输出缓冲机制
    2024.7.25第九天笔记关于++混合操作,不同计算结果推理第一种编译结果:inti=5;intsum=(++i)+(++i)=6+7=13第二种编译结果:inti=5;intsum=(++i)+(++i)=6+7=7+7前面的7是因为后面i的变化被影响后,重新赋值=14第一种编译结果:inti=5;in......
  • C语言i++和++i操作
    关于++混合操作,不同计算结果推理第一种编译结果:inti=5;intsum=(++i)+(++i)=6+7=13第二种编译结果:inti=5;intsum=(++i)+(++i)=6+7=7+7前面的7是因为后面i的变化被影响后,重新赋值=14第一种编译结果:inti=5;intsum=(++i)+(i++)=......
  • 学懂C语言(二十五):深入理解 C语言结构体 位域 的概念
            目录一、位域的基本概念二、位域的定义三、位域的内存分配和大小计算示例1:简单位域示例2:跨越多个存储单元注意事项结构体对齐控制总结        C语言中的位域(Bit-Field)是一种特殊的数据结构,允许在结构体中定义占用特定位数的成员,主要用于节......
  • C语言:字符串函数、内存函数剖析
    字符串函数、内存函数剖析一、字符串函数(一)求字符串长度1、strlen(1)库函数实现(2)自定义实现(二)长度不受限制的字符串函数1、strcpy(1)库函数实现(2)自定义实现2、strcat(1)库函数实现(2)自定义实现3、strcmp(1)库函数实现(2)自定义实现(三)长度受限制的字符串函数介绍1、strncpy2、s......
  • 随记0000——从0、1 到 C语言
    C语言的发展历程是计算机科学史上的一个重要里程碑。下面是从最早的机器语言到汇编语言,再到高级语言如C语言的简化演进过程:1.机器语言定义与特点机器语言是最底层的编程语言,由一系列二进制代码组成。直接被CPU执行,无需转换或编译。难以阅读、编写和维护。2.汇编语......
  • 如何在 python 日志记录中插入换行符?
    importlogginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s%(levelname)s%(message)s',datefmt='%H:%M:%S')logging.info('hello')logging.warning('\nnewhello')11:15:01INFOhello11:16......
  • LLM大语言模型-ChatGPT、LLaMA、ChatGLM、文心一言、通义千问
    一、LLM与PLM主要区别:1.LLM表现出PLM所没有的EmergentAbilities(涌现能力),这些能力是LLM在复杂任务上表现惊人的关键,使得得人工智能算法前所未有的强大,但这些能力是如何获得的还不具有理论支持;2.LLM将彻底改变人类开发和使用人工智能算法的方式。与小型PLM不同,访问LLM的主要方......
  • 2个月搞定计算机二级C语言——真题(2)解析
    1.前言大家好,我是梁国庆。本篇博客讲解真题2,其中的填空题用到了指向结构体的指针访问被指结构体的成员的知识,我在下文做了讲解。其他的主要还是对数组的考察,没什么难度,搞清楚思路写程序就可以。2.程序填空题2.1题目要求2.2提供的代码#include<stdio.h>#include<st......