在C语言中如何实现用键盘输入一个字符串,并打印出来?

Python013

在C语言中如何实现用键盘输入一个字符串,并打印出来?,第1张

在C语言中输入字符后然后打印出来的编程方法如下:

1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。

2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。

3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。

4.最终运行程序,即可成功实现输入字符串,然后原样在屏幕中输出字符串。

扩展资料:

1.gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。

2.puts()函数用来向标准输出设备(屏幕)输出字符串并换行,具体为:把字符串输出到标准输出设备,将'\0'转换为回车换行。其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。

参考资料:

百度百科-gets

百度百科-puts

试一试这种方式:

    char name[10][100] = {}

    int ictr

    for(ictr = 1 ictr<=10 ictr++)

    {

        printf("\nNumber %d name is:", ictr)

        scanf("%s", name[ictr - 1])

    }

    printf("Names:")

    for(ictr = 0 ictr < 10 ictr++)

    {

        printf("%s\n", name[ictr])

    }

%x是将一个整数按照16进制数字打印。而a是一个字符数组的首地址,如果按照%x来打印的话,那就是打印a所在的地址,并不是打印他的内容,所以%010x是没有办法打印出楼主需要的结果的。楼主想打印的是的数组里面的内容的话,那就只能遍历打印里面的内容了。char* format="%08x-%02x%02x%02x%02x%02x" memset(b,0,100) sprintf(b,format,d,a[0],a[1],a[2],a[3],a[4])这个样子就可以了,将数组里面的内容按照16进制打印,每一个占用2个字符就ok啦。