前面在输出字符串时都使用printf,通过“%s”输出字符串。其实还有更简单的方法,就是使用 puts() 函数。该函数的原型为:

# include <stdio.h>
int puts(const char *s);

这个函数也很简单,只有一个参数。s可以是字符指针变量名、字符数组名,或者直接是一个字符串常量。功能是将字符串输出到屏幕。输出时只有遇到 '\0' 也就是字符串结束标志符才会停止。

下面写一个程序:

# include <stdio.h>
int main(void)
{
char name[] = "祖国!";
printf("%s\n", name); //用printf输出
puts(name); //用puts()输出
puts("我爱你!"); //直接输出字符串
return 0;
}
输出结果是:
祖国!祖国!我爱你!

可见使用 puts() 输出更简洁、更方便。而且使用 puts() 函数连换行符 '\n' 都省了,使用 puts() 显示字符串时,系统会自动在其后添加一个换行符,也就是说

printf("%s\n", name);

和:

puts(name);

是等价的。所以前面字符指针变量中:

printf("%s\n", string);

也可以直接写成:

puts(string);

我们写一个程序来验证一下:

# include <stdio.h>
int main(void)
{
char *string = "I Love You China!";
puts(string);
return 0;
}

输出结果是:
I Love You China!

但是 puts() 和 printf() 相比也有一个小小的缺陷,就是如果 puts() 后面的参数是字符指针变量或字符数组,那么括号中除了字符指针变量名或字符数组名之外什么都不能写。比如 printf() 可以这样写:

printf("输出结果是:%s\n", str);

而 puts() 就不能使用如下写法:

puts(输出结果是:str);

因此,puts() 虽然简单、方便,但也仅限于输出字符串,功能还是没有 printf() 强大。

puts函数,C语言puts函数用法详解相关推荐

  1. C语言return的用法详解,C语言函数返回值详解。 (本次转载仅供学习,感谢原创!!转发自C语言中文网,如有侵权请私信本人删除)

    C语言return的用法详解,C语言函数返回值详解 转载:http://c.biancheng.net/view/1855.html 函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这 ...

  2. Python函数(函数定义、函数调用)用法详解

    函数 函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码. 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码.函数还可以接 ...

  3. Find_in_set()函数的使用及in()用法详解

    这篇文章主要介绍了mysql中find_in_set()函数的使用以及in()用法详解,需要的朋可以参考下 MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,st ...

  4. c语言for表达式1的作用,C语言for语句用法详解

    C语言for语句用法详解 C语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.下面小编给大家介绍C语言f ...

  5. 【C语言for语句用法详解】

    ** C语言for语句用法详解 说明 for语句用于重复执行一段语句块.通常会使用一个增量计数器递增和终止循环.for语句对于任何需要重复的操作是非常有用的. 结构 for(表达式1; 表达式2; 表 ...

  6. java 函数fun_c语言中fun用法详解_后端开发

    Java Dao层的作用_后端开发 Dao层叫数据访问层,属于一种比较底层,比较基础的操作,可以具体到对于某个表或某个实体的增删改查,其Dao层的作用是对数据库的访问进行封装,从而不涉及业务,实现解耦 ...

  7. html js require函数,Require.js的基本用法详解

    一:什么是require.js ①:require.js是一个js脚本加载器,它遵循AMD(Asynchronous Module Definition)规范,实现js脚本的异步加载,不阻塞页面的渲染 ...

  8. Java语言Socket接口用法详解

    Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Serve ...

  9. c语言 switch case 字符串,c语言switch case用法详解

    c语言switchcase用法详解 switch是"开关"的意思,它也是一种"选择"语句,但它的用法非常简单.switch是多分支选择语句.说得通俗点,多分支就 ...

  10. mysql中find_in_set()函数的使用及in()用法详解

    From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...

最新文章

  1. java编译会产生多少个类文件,编译一个定义了三个类和四个方法的Java源程序文件,总共会产生多少个字节码文件 ? ( )...
  2. 跟我一起写 Makefile(八)
  3. js中split字符串分割示例
  4. ML.NET机器学习、API容器化与Azure DevOps实践(一):简介
  5. 如何在几分钟内安装Red Hat Container Development Kit(CDK)
  6. 计算机主机图片开机按钮,解决电脑开机按钮无法使用方法
  7. Nagios(八)—— Nagios Web 端管理工具Nagiosql
  8. C# 操作World生成报告
  9. 拿签证威胁外籍博士后,实验室导师真的可以为所欲为?
  10. python连接mongodb的库文件pymongo
  11. java onkeydown_java笔记 js onkeypress与onkeydown 事件区别详细说明
  12. 人工智能重新定义管理
  13. 【提升思维必看BiuBiu!】《批判性思维》01
  14. css3 clac函数的易错整理
  15. A Survey on Knowledge Graph-Based Recommender
  16. codeforces1627C Not Assigning(思维)
  17. js判断手机是否是苹果
  18. 山东自然人dai开给于企业核定征收纳税
  19. S/4 HANA中的MATDOC和MATDOC_EXTRACT
  20. Ajax 是什么? 如何创建一个 Ajax?

热门文章

  1. c#自定义Json类
  2. python学习四(处理数据)
  3. FreeMarker教程
  4. [转]Github 中被 Fork 最多的库
  5. C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。...
  6. 【数字图像处理】 二.MFC单文档分割窗口显示图片
  7. 【数据结构与算法】之深入解析“缺失的第一个正数”的求解思路与算法示例
  8. Git之深入解析如何运行自己的Git仓库托管服务器
  9. 【数据结构与算法】之栈与队列的应用和操作
  10. iOS之多线程的使用和优缺点比较