scanf+s与scanf的区别
答:scanf("%c",&c)用于读取一个字符,scanf("%d",&i)用于读取一个整数,遇到非数字字符就结束读取。scanf("%s",&s)读取一个字符串,会跳过前导的空格或tab,遇到空格、tab或空格即结束读取。用%c只能获取一个字符。如果我输入123空格456空格789回车,按照上面的顺序,c的值为'1'i的值为23 s的...
答:scanf (“%c”,name)——从键盘接收一个字符,赋给指针name所指的变量;若name是数组名,则接收的字符被存储到name[0]中。scanf (“%s”,&name)——(如果name是数组名)从键盘接收一个字符串,存储到以name为首地址的数组中(注意这里虽意义与scanf (“%s”,name)不同,但效果与scanf (“%s...
答:看s是什么类型啊,后面的要求是字符型的地址 如果s是字符数组名,后一种对,前一种错 如果s是字符变量名,前一种对,后一种错
答:scanf("%s",&b);是正确的输入格式;scanf("%s",a);是错误的输入格式。例:include <stdio.h> int main(void){ int a,b,c;printf("Give me the value of a,b,c seperated with whitespaces:\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);return 0...
答:1、scanf("%d%d",&a,&b)输入的两个数据用空格,TAB或者回车区分开。2、scanf("%d,%d",&a,&b) 输入的两个数据用逗号区分开。3、scanf函数功能是从外设读取数据并赋值给变量,%d代表接收一个整形数,&a代表变量a的内存地址,也就是说把读取的第一个整形数赋值给变量a。4、scanf函数称为格式...
答:区别:一、意义不同:1、scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)它是格式输入函数,即按用户指定的格式从键盘...
答:对于这一句:“ scanf (“%s”,&name)——(如果name是数组名)从键盘接收一个字符串,存储到以name为首地址的数组中(注意这里虽意义与scanf (“%s”,name)不同,但效果与scanf (“%s”,name)一样); ”我表示深深怀疑,虽然没有直接测试。很可能有错,希望自己去写代码实验一下。=== ...
答:最后那个s是一个变量,scanf是通俗说是赋值语句,得到终端的输入对变量s初始化 相对有一个printf,这个是输出到标准外设显示。“%s”是格式化转换,这个s代表字符串,%c代表字符, %d代表整数 总体来说,这个语句是要你输入一串字符,对你设置的变量s赋值。
答:只有VS会让你在后面加_s吧。。VS认为scanf不安全,读入字符串时可能造成数组越界,因此自己搞了个scanf_s函数。
答:scanf("%s",str):scanf是格式化输入函数; %s是格式符,表示输入格式为字符串;str是一个字符串指针或数组,用来存放从键盘读入的信息。函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到...
网友评论:
常舒15694079457:
C语言中 scanf - s和 scanf 区别是什么非常感谢 -
615西志
: scanf()函数是标准C中提供的标准输入函数,用以用户输入数据 scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安全标准输入函数,从vc++2005开始,VS系统提供了scanf_s().在调用该函数时,必须提供一个数字以表明...
常舒15694079457:
c语言中的scanf 函数的用法 -
615西志
: 输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&.scanf("%s",s);改为scanf("%s",&s); scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);格式控制字符串包含:格式控...
常舒15694079457:
c语言连续连个scanf,两个scanf之间应该输入什么? -
615西志
: 在这里真不好说,其实秉承一个原则,就是scanf录入的时候,最好是中间什么都不要有,就是这种形式: scanf("%s%s%s",a,b,c); 这样子的基本不会错,再就是你要区别一下scanf和scanf_s,可能两者的一点区别会导致一些问题,只能帮你到这里了,加油
常舒15694079457:
scanf - s和以前的scanf是一样等级的吗??? -
615西志
: 功能是一样的.只是scanf_s提供更安全一些的机制 ,以防止溢出,对于%s,%S等, 变量地址后要紧跟一个参数,以表示其大小.如: char a[10]; scanf_s("%s", a, 10);
常舒15694079457:
c语言中 scanf("%*s"); 的具体意思, -
615西志
: scanf("%*s")表示跳至下一空白字符,这里主要是中间的*字符起的作用.比如:int n;scanf("%*d %*d %d",&n);printf("%d",n);return 0;如果输入的是1 2 3,那么输出的是3,因为前两个已经忽略啦.
常舒15694079457:
C语言中 get()和scanf("%s",str)有什么不同 -
615西志
: 1 get()是错误的吧?应该是gets().2 gets()以回车作输入结束标志,可以输入空格;scanf("%s",str)以回空格作输入结束标志,不可以输入空格.
常舒15694079457:
类似scanf转成scanf - s不安全问题,还有其他ansi c中的函数吗,需要改变 -
615西志
: 这其实没有区别,scanf_s相对于scanf而言比较安全,scanf_s是scanf的安全版本,这里所谓的安全其实就是在输入的时候进行边界检查罢了.这是微软对开发软件的维护与改进,是近些年才开始的.你可以去官网仔细查看一下微软的安全性规范.
常舒15694079457:
scanf (“%s”,name)与scanf (“%c”,&name) 有什么分别. -
615西志
: scanf (“%s”,name)是输入字符串到name字符数组,而scanf (“%c”,&name) 是输入字符到name字符数组的第一个元素. 如果scanf (“%s”,&name) 会报错,因为scanf()函数中,“%s”代表对字符串格式化,需要提供的参数必须是字符...
常舒15694079457:
C语言中scanf的%s是什么意思,%c和%s有什么区别.会的进来,谢谢. -
615西志
: %s在scanf中代表一个字符串,%c在scanf中代表字符.如:char ch; scanf("%c",&ch);表示从键盘输入一个字符到ch中,char str[5]; scanf("%s",&ch);表示从键盘输入一个字符串到str这个字符串数组中
常舒15694079457:
关于scanf和scanf - s的问题
615西志
: scanf_s是visual studio搞出来的那套.如果你的代码不是在VS编译的自然会报错. 如果只用scanf那么在VS编译是warning…… 还有,你声明char *a的时候要先分配内存,不然会出现各种未知错误. 要么就是用char a[80],或者用malloc先分配好内存……