C语言提升编码效率地两大技巧

举报
kitty787 发表于 2021/06/29 23:01:53 2021/06/29
【摘要】 Java中第一行与第二行的输出语句之间可以用加号(+)连接我们来看一下这样的用法在C语言中可行吗?printf("字母有%d个\n空格有%d个"+"数字有%d个\n其他字符有%d个\n",letters,spaces,digits,others); 运行结果如下: 可见,这样的用法在C语言中是不可行的。C语言中的换行输出方法应该这样写,我总结了两类方法:方法1.去掉+号,在每行末尾和下一行开...

一、C语言一个printf输出多行语句(两种方法)


Java中第一行与第二行的输出语句之间可以用加号(+)连接

我们来看一下这样的用法在C语言中可行吗?

printf("字母有%d个\n空格有%d个"+
"数字有%d个\n其他字符有%d个\n",letters,spaces,digits,others);	

运行结果如下:

可见,这样的用法在C语言中是不可行的。

C语言中的换行输出方法应该这样写,我总结了两类方法:

方法1.去掉+号,在每行末尾和下一行开头各加一半双引号。

//多行输出方法1:
printf("字母有%d个\n空格有%d个"
"\n数字有%d个\n其他字符有%d个\n",letters,spaces,digits,others);	

运行结果如下:

可见这样的方法是可行的,我们再来看一下第二种方法:

方法2.除最后一行每行末尾加斜杠(\) ,其余啥都不变

//多行输出方法2: 
printf("字母有%d个\n空格有%d个\
\n数字有%d个\n其他字符有%d个\n",letters,spaces,digits,others);	

注意:这种方法的换行符\n要写在下一行开头,才能正常显示格式,运行结果如下:

不能写在行末尾,否则格式会混乱,运行结果如下:

原理:

printf("line1\
line2\
line3\n");


这种写法,注释一行等于注释整条语句。( \ 结尾 相当于将多行看成1行) 

二、输入一串字符,直到输入回车结束(两种方法)

方法1:


char ch;
while((ch = getchar()) != '\0')
{
       ……
}

方法2:

char ch =getchar();
while(ch != '\0')
{
      ……
      ch = getchar();
}

以上就是我们在C语言中要在一个printf函数内进行多行输出的方法、输入一串字符,直到回车结束的方法。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。