fgets 函数:该函数可以从标准输入流 stdin 中读取任意个字符,直到读到换行符或文件结束标志为止。例如:
Copy codechar str[100]if (fgets(str, 100, stdin) == NULL) { // 读取失败} else { // 读取成功}getchar 函数:该函数可以从标准输入流 stdin 中读取一个字符,并返回读取到的字符。例如:
Copy codechar cwhile ((c = getchar()) != EOF) {// 读取到的字符存储在 c 中}
在使用 getchar 函数时,可以使用一个循环读取任意个字符。在循环内部,每次调用 getchar 函数都会从标准输入流中读取一个字符,直到遇到文件结束标志 EOF 为止。
注意,使用 fgets 函数时,需要给出一个字符数组作为参数,用于存储读取到的字符。使用 getchar 函数时,则需要定义一个变量来存储读取到的字符。
回答不易,望采纳谢谢
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:
1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。
2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。
3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为字符串数组的名字,要与前面的保持一致。
4、然后点击运行,得到以下结果即为正确。
扩展资料:
字符数组的输出:
(1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
for(i=0i<10i++)
a[i]=putchar()
用printf()赋值:
for(i=0i<10i++)
printf("%c",a[i])
输出结果为:
c program [2]
(2)用printf()的'%s'格式对数组赋值。还是对于数组a[10]
printf("%s",a)
输出结果为:
c program
参考资料来源:
百度百科-char
百度百科-字符数组
定义一个字符串变量,这个变量的值中就可以输入汉字了。
汉字是多字节的,一个char放不下,可以使用字符数组,但需要给数组分配空间,或者使用string
例如:
#include<stdio.h>
int main(void)
{
char a[7]="你好"
scanf("%*s",a)
printf("%s\n",a)
return 0
}
扩展资料:
其实从语言学的角度来说,英文是线性的一维语言,而中文是平面的二维语言。而程序恰恰是线性的一维的。也就是说,线性的英文正好能契合线性的程序。所以,中文并不适合现有的编程方式。
然而,未来的发展可能超出你的想象。未来可能会有多维度的量子计算,也许二维的中文反而会比一维的英文更适合。
程序员对比过中文编程和英文编程就会明白,中文编程反而会提高门槛。因为编程的核心根本就不是什么语言,而是程序化思维方式。最简单的并不是英文编程,而是数学符号编程,极度抽象,普通人很难理解,但代码量特别少。