下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

c语言教程_gets()/puts()函数语法 用法 例子

作者:Comet     来源: www.kokojia.com点击数:9717发布时间: 2015-08-14 11:29:57

标签: c语言C语言教程C语言视频

大神带你学编程,欢迎选课

下面小编为大家该例子说明C语言教程的几个问题: 非格式化输出函数puts()和非格式化输入函数gets().

 

c语言教程_gets()/puts()函数语法 用法 例子

 


1. puts()函数


原型:int puts(char *string);
功能:puts()函数用来向标准输出设备(屏幕)写字符串并换行。
调用格式:puts(p); 其中p 是指向字符串的指针(字符串数组名或字符串指针)
注意:puts()函数的作用与语句 printf("%s\n",s); 的作用相同。
说明:
(1) puts()函数只能输出字符串, 不能输出数值或进行格式变换。
可以将字符串直接写入puts()函数中。如: puts("Hello world");
(2) puts() 输出的每一个串都在新行符处换行。最后, 当 puts() 找到空字符时, 它将空字符换成一个新行符并且输出。


2. gets()函数


原型:char *gets(char *string);
功能:gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。
调用格式:gets(p); 其中p 是指向字符串的指针(字符串数组名或字符串指针)。
注意:gets(s)函数与scanf("%s", &s)相似, 但不完全相同。
使用scanf("%s", &s)函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符串直到回车为止。

 

测试环境vc6.0
********************************************************************/
 
 
********************************************************************/
I'm an argument to puts().
An array example.
A pointer example.
rray example.
inter example.
Press any key to continue
********************************************************************/

 

 
/********************************************************************
这个例子提醒我们括号中的字符串和字符数组名是指针。

 
注意最后两行:
指针 &str1[4] 指向的是 str1 数组的第五个元素, 这个元素存放字符 'r', 这就是 puts() 作为它的指针起始点的地方。

 
相似的, str2+4 指向 str2 中存放 'i' 的内存单元, 并且打印输出从这里开始。

 
puts 怎么知道何时停止于何处呢? 这个函数是在空字符 \0 出现时停止的, 因此, 最好字符串中已有一个这样的字符。
例如
int main()
{
  static char arry[] = {'H','I','!','!'};
  puts(arry);

 
  return 0;
}
则输出 Hi!!烫烫烫烫烫烫烫烫烫烫烫烫dhaklhdwuhdaghdagdak... (后面都是乱码)
原因:a在结尾处缺少一个空字符('\0'), 所以它不是一个串,这样 puts() 就不知道
什么时候停止输出, 它将会把a 后面内存单元中的内容都打印出, 直到它在什么地方碰到
了一个空字符为止。
 
以上就是c语言教程的gets()/puts()函数语法和用法内容,了解更多c语言视频教程知识可进入课课家教育网络教学平台进行查询观看!
赞(37)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程