用puts(),get()
第1个回答 推荐于2018-02-24
puts()和gets()都是数组函数,输入或输出前要定义数组
例如:
char a[50];
gets(a);
puts(a);
就是一个简单的输入后再将输入的东西输出,puts()的输入和printf的输出是有一定的区别的,puts()遇到‘\0'就终止,而用printf则不会这样。
例如:
char a[50];
gets(a);
puts(a);
printf("%s",a);
如果正好输入50个字符,则两次输出一致。但如果输入字符不足50个,puts()输出输入的全部字符,而没有输入的不输出,而printf则不能识别'\0',所以会出现乱码。本回答被提问者和网友采纳
例如:
char a[50];
gets(a);
puts(a);
就是一个简单的输入后再将输入的东西输出,puts()的输入和printf的输出是有一定的区别的,puts()遇到‘\0'就终止,而用printf则不会这样。
例如:
char a[50];
gets(a);
puts(a);
printf("%s",a);
如果正好输入50个字符,则两次输出一致。但如果输入字符不足50个,puts()输出输入的全部字符,而没有输入的不输出,而printf则不能识别'\0',所以会出现乱码。本回答被提问者和网友采纳
第2个回答 2007-12-26
puts()和gets()函数
1. puts()函数
puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为:
puts(s);
其中s为字符串变量(字符串数组名或字符串指针)。
puts()函数的作用与语printf("%s\n", s)相同。
例4:
main()
{
char s[20], *f; /*定义字符串数组和指针变量*/
strcpy(s, "Hello! Turbo C2.0"); /*字符串数组变量赋值*/
f="Thank you"; /*字符串指针变量赋值*/
puts(s);
puts(f);
}
说明:
(1). puts()函数只能输出字符串, 不能输出数值或进行格式变换。
(2). 可以将字符串直接写入puts()函数中。如:
puts("Hello, Turbo C2.0");
2. gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符
不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)
函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符
串直到回车为止。
例5
main()
{
char s[20], *f;
printf("What's your name?\n");
gets(s); /*等待输入字符串直到回车结束*/
puts(s); /*将输入的字符串输出*/
puts("How old are you?");
gets(f);
puts(f);
}
1. puts()函数
puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为:
puts(s);
其中s为字符串变量(字符串数组名或字符串指针)。
puts()函数的作用与语printf("%s\n", s)相同。
例4:
main()
{
char s[20], *f; /*定义字符串数组和指针变量*/
strcpy(s, "Hello! Turbo C2.0"); /*字符串数组变量赋值*/
f="Thank you"; /*字符串指针变量赋值*/
puts(s);
puts(f);
}
说明:
(1). puts()函数只能输出字符串, 不能输出数值或进行格式变换。
(2). 可以将字符串直接写入puts()函数中。如:
puts("Hello, Turbo C2.0");
2. gets()函数
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符
不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)
函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符
串直到回车为止。
例5
main()
{
char s[20], *f;
printf("What's your name?\n");
gets(s); /*等待输入字符串直到回车结束*/
puts(s); /*将输入的字符串输出*/
puts("How old are you?");
gets(f);
puts(f);
}
参考资料:
第3个回答 2017-03-22
C语言中字符串的输入和输出主要有两种方式:
输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a);
输入使用:gets(b);对应的输出使用:puts(b);
参考代码:
输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a);
输入使用:gets(b);对应的输出使用:puts(b);
参考代码:
第4个回答 2019-03-01
//小白写程序
//输入一行字符串,分别统计出其中英文字符、空格、数字、和其他字符
#include <stdio.h>
int main()
{
char *p = "abc ABC 123 !@# "; //字符串用char类型
int a = 0, b = 0, c = 0, d = 0;
//a为大小写字母,b为空格,c为数字,d为其他字符并赋初值0;
while(*p != '\0') //判断是否循环结束
{
if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))
// 判断字母
a++;
//统计字母个数
else if(*p == ' ')
//判断是否为空格
b++;
//统计空格个数
else if(*p >= '0' && *p <= '9')
//判断是否为数字
c++:d
//统计数字个数
else
//其他特殊字符
d++;
//统计特殊字符个数
*p++; //判断字符串的下一个是什么
}
printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);
}
//输入一行字符串,分别统计出其中英文字符、空格、数字、和其他字符
#include <stdio.h>
int main()
{
char *p = "abc ABC 123 !@# "; //字符串用char类型
int a = 0, b = 0, c = 0, d = 0;
//a为大小写字母,b为空格,c为数字,d为其他字符并赋初值0;
while(*p != '\0') //判断是否循环结束
{
if((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z'))
// 判断字母
a++;
//统计字母个数
else if(*p == ' ')
//判断是否为空格
b++;
//统计空格个数
else if(*p >= '0' && *p <= '9')
//判断是否为数字
c++:d
//统计数字个数
else
//其他特殊字符
d++;
//统计特殊字符个数
*p++; //判断字符串的下一个是什么
}
printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);
}