c语言中如何输入输出字符串

Python014

c语言中如何输入输出字符串,第1张

在C语言中,输入输出字符有以下两种方式:

1 用scanf/printf输入输出。

scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也

其支持范围内。

格式化字符为%s。

定义

char str[100]

输入

scanf("%s",str)

输出

printf("%s",str)

2 C语言还支持专门的字符串输入输出函数:gets/puts。

gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。

puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。

定义

char str[100]

输入

gets(str)

输出

puts(str)

扩展资料:

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。

1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。

1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。

1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C  。

因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。

1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994,有些人简称为C94标准。

1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7]  ,有些人简称为C95标准。

参考资料:百度百科-c语言

为什么c语言用指针输出字符串不用加*号?因为char*STR定义了一个char*字符指针STR,而STR指向了ILOVECHINA中的第一个字符I。

在cout流中有一个复制循环,它是一个具有数百个输出STR点的字符串,在这个字符串中,STR被赋值给临时指针,以便一个接一个地输出。

然后*STR是一个字符,也就是I*是一个derecration,也就是STR指向的那个字符,所以*STR就是I这个不能被赋值或移位所以它不能被打印出来。

扩展资料:

关于字符串指针

1.字符数组中存储一个度字符串

Char字符串[]="LinuxC";

Printf("%s\n",字符串);

字符串是一个字符数组的名称,它也是应答字符数组的第一个地址。

2.使用字符串指针指向一个字符串

如果你不想定义一个字符数组,你可以用一个指针指向一个字符串,称为“字符串指针”,例如:

Char*p="LinuxC";

Printf(“%s\n”,p);

“LinuxC”是一个字符串常量。字符串常量的C语言:在内存中打开一个字符数组来存储字符串常量,并将打开的字符数组的第一个地址保存到p。

这里是定义了一个字符指针p,再将字符串常量"hello"的第一个元素的地址(即存放字符串的字符数组的首元素地址)赋值给它。如果误认为是将这个字符串赋值给他是不对的,以上的语句等同于:

char*p="hello"

这里是初始化。

可以看到p被定义为一个指针变量,指向字符型数据,输出时,要用:

printf("%s\n",p)

在输出时,系统先输出它指向的一个字符数据,然后自动使p加1,使之指向下一个字符,然后在输出一个字符···如此直到遇到字符串结束标志'\0'为止。

说明:通过字符数组名或字符串指针变量可以输出一个字符串,而对一个数值型数组,是不能企图用数组名输出他的全部元素的。

具体的可以参考谭浩强编写的《C语言程序设计》一书,上面有详细的介绍。