C语言基础—字符串输入输出函数puts和gets
来源:互联网 发布:淘宝发票抬头哪里设置 编辑:程序博客网 时间:2024/06/05 06:50
C语言中没有单独定义字符串的变量类型,而是采用字符数组的形式来定义及存储。
字符串与字符数组一个很大的区别是字符串以字符‘\0’来结尾,因此采用for循环计算字符数组的长度时,常常会把字符‘\0’统计到结果当中。字符串处理函数strlen可以直接统计出字符串中不包含‘\0’的字符串长度,其存储在string.h文件中。string.h文件中还包括puts,gets等字符串处理函数。
gets函数的使用格式:gets(字符串存储的地址);
该函数的特点:
1使用该函数接受键盘录入的字符串时,可以接受键盘输入的空格;
2gets函数使用时出现警告,因为通过键盘录入的字符串长度可能超过通过字符数组定义的空间。
puts函数格式:puts(字符串地址);
puts输出函数遇到‘\0’时才停止输出,因此通过字符数组定义的字符串,如果缺少‘\0’,则可能会输出不正确的结果,使用中应避免。
下面是利用上述字符串处理函数实现统计录入字符串中的单词个数,并且把每一个单词的首字母转变成大写字母。
#include "stdafx.h"
#include <string.h>
int main(int argc, char* argv[])
{
//统计字符串中单词个数及单词首字母大写
char ch[20];
gets(ch);
int word = 0;
int count = 0;
/*printf("%d\n",strlen(ch));*/
for(int i = 0;i < strlen(ch);i++)
{
//判断第一个字母是否是大写
if(i == 0)
{
if(ch[i] >= 'a' && ch[i] <='z')
{
ch[i] -= 32;
}
count++;
}
//依次判断后续字符,遇到空格时,单词数量加1,并把空格后单词的后首字母大写
if(ch[i] == ' ')
{
word = 1;
}
else if(word == 1)
{
if(ch[i] >= 'a' && ch[i] <='z')
{
ch[i] -= 32;
}
word = 0;
count++;
}
}
printf("输入字符个数:%d\n转化后字符:%s\n",count,ch);
return 0;
}
字符串与字符数组一个很大的区别是字符串以字符‘\0’来结尾,因此采用for循环计算字符数组的长度时,常常会把字符‘\0’统计到结果当中。字符串处理函数strlen可以直接统计出字符串中不包含‘\0’的字符串长度,其存储在string.h文件中。string.h文件中还包括puts,gets等字符串处理函数。
gets函数的使用格式:gets(字符串存储的地址);
该函数的特点:
1使用该函数接受键盘录入的字符串时,可以接受键盘输入的空格;
2gets函数使用时出现警告,因为通过键盘录入的字符串长度可能超过通过字符数组定义的空间。
puts函数格式:puts(字符串地址);
puts输出函数遇到‘\0’时才停止输出,因此通过字符数组定义的字符串,如果缺少‘\0’,则可能会输出不正确的结果,使用中应避免。
下面是利用上述字符串处理函数实现统计录入字符串中的单词个数,并且把每一个单词的首字母转变成大写字母。
#include "stdafx.h"
#include <string.h>
int main(int argc, char* argv[])
{
//统计字符串中单词个数及单词首字母大写
char ch[20];
gets(ch);
int word = 0;
int count = 0;
/*printf("%d\n",strlen(ch));*/
for(int i = 0;i < strlen(ch);i++)
{
//判断第一个字母是否是大写
if(i == 0)
{
if(ch[i] >= 'a' && ch[i] <='z')
{
ch[i] -= 32;
}
count++;
}
//依次判断后续字符,遇到空格时,单词数量加1,并把空格后单词的后首字母大写
if(ch[i] == ' ')
{
word = 1;
}
else if(word == 1)
{
if(ch[i] >= 'a' && ch[i] <='z')
{
ch[i] -= 32;
}
word = 0;
count++;
}
}
printf("输入字符个数:%d\n转化后字符:%s\n",count,ch);
return 0;
}
0 0
- C语言基础—字符串输入输出函数puts和gets
- C语言:gets/puts输入输出字符串
- C语言 gets(),puts()函数
- C语言学习笔记之字符串I/O(gets()函数和puts()函数)
- 字符串处理函数puts()和gets()
- DSP 调用 C 输入输出函数 scanf() printf() gets() puts()
- gets和puts函数
- 字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
- 字符串处理函数gets()、puts()、strcmp()、strlen()、strcpy()、strcat()-C语言
- C语言字符串常用操作函数-puts、gets、strcmp、strcpy、strcat、strlen
- c语言中的 puts gets
- 字符串输入gets()、fgets()和字符串输出puts()、fputs()函数
- 字符串读写函数gets() 、puts()、fgets()和fputs()
- C语言的字符串输出puts()函数
- C/C++中输入输出函数gets(),puts(),getchar(),putchar()等的解析
- scanf(),printf()和gets(),puts()在输入输出字符串时的区别
- 在输入输出字符串时scanf(),printf()和gets(),puts()的区别浅谈
- scanf(),printf()和gets(),puts()在输入输出字符串时的区别
- Maven实践(二):Spring与classpath*加载配置文件
- wampserver出现You don’t have permission to access/on this
- KVC和KVO操作
- ActionBar的使用方式+Selector
- 一看就懂的iOS触摸事件
- C语言基础—字符串输入输出函数puts和gets
- 1.Activity的建立,配置和使用
- 虚函数实现原理(转)
- Eclipse快捷键 10个最有用的快捷键
- android中Fragment的构造函数
- 数值优化(Numerical Optimization)学习系列-带约束最优化(Constrained Optimization)
- UVA - 120 Stacks of Flapjacks
- Android Eclipse 快捷键总结
- 第3章 隐藏实现