字符串的输入与输出详解

字符串的输出
我们经常用到的是以下两种输出方式:
puts():输出字符串并自动换行,该函数只能输出字符串。
printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。
对于输出我们要注意,首先不论这两种方式哪一种输出字符串,都是用字符串名来输出例如倘若用数组的方式对字符串进行存储那在printf中切莫在字符串名后带入【】
字符串的输入
同样的输入也具备两种方式:
scanf():通过格式控制符%s输入字符串。除了字符串,scanf() 还能输入其他类型的数据。
gets():直接输入字符串,并且只能输入字符串。
对于输入的两种模式我们要加以区分
scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。
同时我们要注意的是就目前学到的知识而言,int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。

你可能感兴趣的:(c语言)