企业网站备案审核需要多长时间,河北省城乡住房和建设厅网站,tomcat 打开wordpress,网络游戏推广员是做什么的字符串的输出
C语言中#xff0c;有两个函数可以在控制台#xff08;显示器#xff09;上输出字符串#xff0c;它们分别是#xff1a; puts()#xff1a;输出字符串并自动换行#xff0c;该函数只能输出字符串。printf()#xff1a;通过格式控制符%s输出字符串#…字符串的输出
C语言中有两个函数可以在控制台显示器上输出字符串它们分别是 puts()输出字符串并自动换行该函数只能输出字符串。printf()通过格式控制符%s输出字符串不能自动换行。除了字符串printf() 还能输出其他类型的数据。示例
#include stdio.h
int main(){char str[] http://www.baidu.com;printf(%s\n, str); //通过字符串名字输出printf(%s\n, http://www.baidu.com); //直接输出puts(str); //通过字符串名字输出puts(http://www.baidu.com); //直接输出return 0;
}运行结果
http://www.baidu.com
http://www.baidu.com
http://www.baidu.com
http://www.baidu.com注意输出字符串时只需要给出名字不能带后边的[ ]例如下面的两种写法都是错误的
printf(%s\n, str[]);
puts(str[10]);字符串的输入
在C语言中有两个函数可以让用户从键盘上输入字符串它们分别是 scanf()通过格式控制符%s输入字符串。除了字符串scanf() 还能输入其他类型的数据。gets()直接输入字符串并且只能输入字符串。scanf() 和 gets() 的区别 scanf() 读取字符串时以空格为分隔遇到空格就认为当前字符串结束了所以无法读取含有空格的字符串。gets() 认为空格也是字符串的一部分只有遇到回车键时才认为字符串输入结束所以不管输入了多少个空格只要不按下回车键对 gets() 来说就是一个完整的字符串。换句话说gets() 用来读取一整行字符串。示例
#include stdio.h
int main(){char str1[30] {0};char str2[30] {0};char str3[30] {0};//gets() 用法printf(Input a string: );gets(str1);//scanf() 用法printf(Input a string: );scanf(%s, str2);scanf(%s, str3);printf(\nstr1: %s\n, str1);printf(str2: %s\n, str2);printf(str3: %s\n, str3);return 0;
}运行结果
Input a string: C C Java Python↙
Input a string: PHP JavaScript↙str1: C C Java Python
str2: PHP
str3: JavaScript第一次输入的字符串被 gets() 全部读取并存入 str1 中。第二次输入的字符串前半部分被第一个 scanf() 读取并存入 str2 中后半部分被第二个 scanf() 读取并存入 str3 中。
注意scanf() 在读取数据时需要的是数据的地址这一点是恒定不变的所以对于 int、char、float 等类型的变量都要在前边添加以获取它们的地址。但是在本段代码中我们只给出了字符串的名字却没有在前边添加这是为什么呢因为字符串名字或者数组名字在使用的过程中一般都会转换为地址所以再添加就是多此一举甚至会导致错误了。
int、char、float 等类型的变量用于 scanf() 时都要在前面添加而数组或者字符串用于 scanf() 时不用添加它们本身就会转换为地址。
其实 scanf() 也可以读取带空格的字符串 scanf() 的用法还可以更加复杂和灵活它不但可以完全替代 gets() 读取一整行字符串而且比 gets() 的功能更加强大。比如以下功能都是 gets() 不具备的 scanf() 可以控制读取字符的数目scanf() 可以只读取指定的字符scanf() 可以不读取某些字符scanf() 可以把读取到的字符丢弃。如果感觉不错的话欢迎点赞哟