scanf(&% s,&% c)是什么意思?

如题所述

scanf (“%s”,name)是输入字符串到name字符数组,而scanf (“%c”,&name) 是输入字符到name字符数组的第一个元素。

如果scanf (“%s”,&name) 会报错,因为scanf()函数中,“%s”代表对字符串格式化,需要提供的参数必须是字符数组,&name仅仅是name变量的第一个单元空间。

如果scanf (“%c”,name)也会报错,因为“%s”代表对字符进行格式化,需要提供变量的地址,所以不能没有&符号。

scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。

扩展资料:

输入字符串的另一个函数gets()和scanf的区别:

gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。

也就是说gets()函数读取到\n(我们输入的回车)于是停止读取,但是它不会把\n包含到字符串里面去。然而,和它配合使用的puts函数,却在输出字符串的时候自动换行。

参考资料来源:百度百科-scanf (计算机语言函数)

温馨提示:答案为网友推荐,仅供参考
相似回答