概述
请先看一段关于字符串的代码
#include<stdio.h>
#include<string.h>
const char chSTR[] = "Don't touch me here";
int main()
{
int len;
len = strlen(chSTR);//计算整个字符串的长度
printf("len = %dn", len);
printf("#%s#n", chSTR);//#用来方便观察字符串起点和终点
return 0;
}
我们先定义一个字符串来表达自己的呐喊。运行结果如下
len = 19
#Don't touch me here#
但是当我们文思泉涌,一行写不下了,怎么办,很简单,改成这样
const char chSTR[] = "Don't
touch
me
here";
运行结果不会改变,也就是说, 衔接了符号下面的一行。
需要注意的是,如果新一行前面有空格或tab,会被算在字符串内,如下
int main()
{
int len;
const char chSTR[] = "Don't
touch
me
here";
len = strlen(chSTR);
printf("len = %dn", len);
printf("#%s#n", chSTR);
return 0;
}
//运行结果
len = 22
#Don't
touch
me
here#
C语言中大多数情况下,空格和换行符是被编译器忽略的,通过适当的换行和空格可以让代码更美观,以下代码效果是一样的。
c = a + b;
c = a +
b;
c = a
+ b;
c = a
+ b;
而字符串不能用回车分割,所以 最常用的作用是分割换行,让代码肉眼看上去更直观。
下面代码由小甲鱼C语言 S1E28课后作业 动动手1.题改写的。(ps.那一题的标准答案在我的编译器上会报一堆警告)
比如下面两个字母,由# 和 空格 构成,
########
##
##
######
##
##
##
######
##
##
##
######
##
##
##
######
可以将每个字母保存
成一个长度为 7*8 = 56 字节的字符串,每次打印8个字符后换一次行。
const char *letters[] = {
"##########
##
######
##
##
##
",
" ###### ##
####
######
####
## ###### "};
但是这样做编计算机理解我的目的了,我自己看不懂了。
所以可以用 分行,目的是让阅读代码的人一眼就能看明白这个蜜汁字符串的真正含义。
#include <stdio.h>
#include <string.h>
//定义一个指针数组,用来存放多个字符串,和 char[2][] 作用类似
const char *letters[] = {
"
########
##
##
######
##
##
##
",
"
######
##
##
##
######
##
##
##
######
"};
int main()
{
int i, j, k;
for(i = 0; i < 7; i++)//分行共打印7行
{
for(j = 0; j < 2; j++)//每行打印两个字母对应的字符
{
for(k = 0; k < 8; k++)//每个字母每行有8个字符
{
printf("%c",letters[j][i*8 + k]);//打印第 j 个字母第i行第k个字符
}
printf("
");//两个字母间打印空格
}
printf("n");
}
return 0;
}
//运行结果
########
######
##
##
##
##
##
######
######
##
##
##
##
##
##
######
这样是不是比较直观了呢
参考:S1E28:函数初体验 | 课后测试题及答案,《带你学C带你飞》【第一季】,CC++交流,鱼C论坛 - Powered by Discuz!
最后
以上就是斯文溪流为你收集整理的[C语言] \ 的分割作用和简单使用的全部内容,希望文章能够帮你解决[C语言] \ 的分割作用和简单使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复