linux下puts和gets命令用法,c语言教程_gets()/puts()函数语法 用法 例子

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

e8236d75ca86266de41e99a5c847c2dc.png

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

********************************************************************/

8b00609fcdd051c8e47cda81f9bc3f6e.png

********************************************************************/

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()函数语法和用法内容,了解更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值