轉載: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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!