如果必须分割一个字符串,有三个钟方法

#include <stdio.h>
int main (void)
{  printf ("hhhhhhhh");  printf ("aaaaaaaa\n");  printf ("hhhhhhhh\
aaaaaaaa\n");  printf ("hhhhhhhh"  "aaaaaaaa\n");
return 0;
}
输出结果:
hhhhhhhhaaaaaaaa
hhhhhhhhaaaaaaaa
hhhhhhhhaaaaaaaa

第一种方法:使用多个printf()语句,因为打印的第一个字符串没有以\n字符结束,所以第二个字符串紧跟第一个字符串输出。

第二种方法:用反斜线符号(\)和回车键的组合来结束第一行。这就使得屏幕上的文本另起一行,并且在字符串中不会包含换行字符。其效果就是在下一行继续该字符串。不过,下一行必须向代码中那样从行的最左边开始。如果缩进了该行,比如说缩进了5个空格,那么这5个空格会变成字符串的一部分。

注意:反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格

#include <stdio.h>int main (void)
{printf ("aaaaa \
aaaaa\n");printf ("aaaaa\
aaaaa\n");printf ("aaaaa\aaaaa\n");return 0;
}
输出结果:
aaaaa aaaaa
aaaaaaaaaa
aaaaa           aaaaa在反斜杠后面空格会出现警告: 反斜杠和换行为空格所分隔 [默认启用]


第三种方法:采用字符串连续的方法,它是ANSI C的新方法。如果在一个用双引号引起来的字符串后面跟有另一个用双引号引起来的字符串。而且二者之间仅用空白字符分隔,那么C会把该组合当做一个字符串来处理。

再有、在 C 语言中,符号之间的空白(包括空格符、制表符、或换行符)将被忽略

#include <stdio.h>
#include <string.h>int main (void)
{int a =     1,b=2;printf ("%d\
,   %d\n",a    ,b);return 0;
}
输出结果:
1,  2

getchar()读取每个字符,包括空格、制表符和换行符;而scanf()在读取数字是则会跳过空格、制表符和换行符。因此他们不能很好的混合在一起。

例如:
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
#include <stdio.h>
void display (char, int ,int);
int main (void)
{  char ch;  int n,m;  printf ("enter a char: \n");  //while ((ch = getchar ()) != '\n')  while ((ch = getchar ()) != EOF)  {  if (scanf ("%d%d", &n, &m) != 2)  break;  display (ch, n, m);
#if 0  while (getchar () != '\n')  continue;
#endif  scanf ("%*[^\n]");  scanf ("%*c");  }  return 0;
}  void display (char ch, int n, int m)
{  int row, col;  for (row = 1; row <= n; row++)  {     for (col = 1; col <=m; col++)  putchar (ch);  printf ("\n");  }
}  

C语言再学习 -- 打印长字符串相关推荐

  1. C语言再学习25——常用字符串函数归纳

    前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 1. memcpy 内存复制函数. 1.1 头文件 #include &l ...

  2. C语言再学习 -- 字符串和字符串函数

    最近身体很不给力,很乏累!白天没精神,晚上睡不着,心情还很烦躁.看书都有点看不下去的样子,到了C语言最难掌握的部分了,数组.指针.字符串.硬着头皮看书总结吧. 一.字符串 1.字符串介绍 字符串是以空 ...

  3. C语言再学习 -- 时间函数

    在软件设计中经常会用到关于时间的处理,用来计算语句.函数的执行时间,这时就需要精确到毫秒甚至是微妙的时间.我们首先来介绍一下,时间单位: 时间单位还有:秒(s).毫秒(ms).微秒 (μs).纳秒(n ...

  4. C语言再学习 -- C 预处理器

    gcc/cc xxx.c  可以编译链接C源程序生成一个可执行文件 a.out 整个过程中可以划分为以下的4步流程: (1)预处理/预编译: 主要用于包含头文件的扩展,以及执行宏替换等 //加上 -E ...

  5. C语言再学习 -- 文件

    文件是什么 一个文件(file)通常就是磁盘上的一段命名的存储区.C 将文件看成是连续的字节序列,其中每一个字节都可以单独地读取. 二进制和文本模式 1.在windows系统中,文本模式下,文件以&q ...

  6. C语言再学习--关键字

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/53021879 C语言一共有32个关键字,如下表所示: 关键字 说明 auto ...

  7. C语言再学习 -- 详解C++/C 面试题 2

    (经典)C语言测试:想成为嵌入式程序员应知道的0x10个基本问题. 参看:嵌入式程序员面试问题集锦 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define ...

  8. C语言再学习 -- 再论数组和指针

    之前有总结指针数组,但是现在看来总结的太简单了.好多重要的知识点都是一带而过的.本想在后面添加后来想想算了,还是再写一篇文章来详细介绍数组和指针这对冤家吧. 之前总结的,参看:C语言再学习 -- 数组 ...

  9. C语言再学习 -- 输入/输出

    一.缓冲区 输入字符的立即回显是非缓冲或直接输入的一个实例,它表示你说键入的字符被收集并存储在一个被成为缓冲区的临时存储区域中.按下回车可使你所键入的字符块对程序变成可用. 为什么需要缓冲区?首先,将 ...

最新文章

  1. 【人在职场】能力与价值
  2. 译C#使用设计模式和软件设计原则构建应用程序 PartIII
  3. layui如何获取父节点的父节点_layui框架中layer父子页面交互的方法分析
  4. php 求数组合集,PHP数组排序函数合集 以及它们之间的联系分析
  5. 一个墙纸还可以改变使用裁剪工具改变图像
  6. 结构分析的计算机方法有哪些,第6篇 桥梁结构分析计算机方法.ppt
  7. html信号动画,HTML5 Canvas火箭着陆和雷达信号动画
  8. springboot项目中jdk版本的问题
  9. Appium探索—Mac OS Python版
  10. 主板后置音频接口图解_图解主板前置音频线接法(一)
  11. postgresql 不区分大小写 模糊查询
  12. JDK类库创建一张简单图片
  13. 土木工程计算机设计考试科目一模拟试题,科目一电脑模拟考试,原来这么简单,看完这个科一不用愁!...
  14. docker安装和一些基本操作
  15. C++GUI之wxWidgets(12)-编写应用涉及的类和方法(7)-事件处理(6)
  16. Python发送邮件实例
  17. 解决python爬虫出现的521问题
  18. 罗素的理发师和奥卡姆剃刀
  19. 【java反射】简单说说静态代理和动态代理
  20. 三菱a系列motion软体_沧州三菱MR-J4-350B

热门文章

  1. vscode格式化proto文件
  2. vs2015 dynamicweb11-1 .NET PET SHOP宠物商店完整项目代码
  3. xctf攻防世界 Web高手进阶区 wtf.sh-150
  4. 没有打印日志,如何排查线上问题?——arthas(阿尔萨斯)
  5. 随着“过失导致死亡的诉讼案”要求 在发生灾难性的行人伤亡事件后, 关闭“北公园中心(NorthPark Center)
  6. win7系统未响应卡住_系统经常假死怎么办|win7系统经常无响应|win10系统经常未响应怎么解决...
  7. 写一个shell脚本的基本步骤
  8. 人这一生为什么要努力?
  9. VC 创建具有提示功能的工具栏
  10. linux sed 制表符,在sed中插入制表符的正确方法是什么?