字符串的输入不能用scanf
...还是占一个字符吧?在strcat_s里面只能用"s"不能用's'是吗?_百度知...
's'仅仅是一个字符 ,char类型,如果你看内存的情况,里面存的就是一个数字,ascii码。如果某个函数接受 char* 指针,传递“s“给参数,编译器会构造一个char* 指针传送过去,而传递's'字符,回引发编译错误
C语言书上说 格式字符s的功能是:输出一个字符串,直到遇到“\\0”。这...
这句话的意思是,格式字符s,只针对以 '\\0' 结尾的字符串才能正确工作,否则会因为无法判断字符串长度而导致各种错误。例如:const char szStr[] = {'h','e','l','l','o'};这个字符串szStr不能通过格式字符s 正常输出,即使输出正确结果“hello”,也只是碰巧结尾有个0而已。const char ...
字符数组S不能作为字符串来使用的是
回答:D。D溢出了 A C
字符串的输入为什么不能用scanf
scanf_s函数在输入的时候还要加1个长度参数scanf_s("%c",&c,1);\/\/这样就好了,后面的参数1表示只读取1个输入字符
c语言中,%c和%s在输入和输出字符串的时候有什么区别?
输入:1、赋值 c输入函数只会对一个字节空间赋值,而%s会一直赋值,直到输入中遇到空白字符为止。2、地址符 输入的时候scanf("%c", &a);这里的&不能少,而scanf("%s",s);这里不能有&符号。输出:1、长度 c只能输出一个字符,%s输出的是一串字符,直到某一个字节内存的元素为字符'\\0'时,...
C语言:四个字符串的输入输出,前两个用%S输入,后两个用gets()输入,用p...
scanf();后会将“回车”,存放在缓存中;执行scanf之后用fflush(stdin)来清理缓存 gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理, 但gets() 函数将接...
对字符串的输入,不需要加&吗?
因此使用scanf()函数时,不需要在它们前面加上"&"操作符。所以“A.scanf("%s%s",&a,&b)”中,变量a、b多携带了“&”操作符,是错误的。而对于gets()函数的使用,其中参数为字符串变量(字符串数组名或字符串指针),所以“B.gets(a); gets(b);”是正确的用法。
为什么在vs2013中用c编程时不能用scanf_s函数输入字符串了
带“_s”后缀是为了让原版函数更安全:scanf()在读取时不检查边界,所以可能会造成内存访问越界,例如分配了5字节的空间但是读入了10字节,而scanf_s是visual studio中加入的完善版函数,可防止这类引用到不存在的元素的情况发生。而你的代码是在VS中编译的,找不到vS下的函数,所以用不了。
scanf("%*s"); 有什么作用
s 带星号的都是跳过输入。以%s方式读入一个字符串,但是不赋值给任何变量。等效于 你创建一个足够大的字符数组s[1000];然后 scanf("%s",s);之后s的值不使用。s简化了这个过程 提高效率。
在C语言中如何实现用键盘输入一个字符串,并打印出来?
如给字符串100个数组空间。2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。4.最终运行程序,即可成功实现输入字符串,然后原样在屏幕中输出字符串。
林甸县确复回答: scanf_s函数在输入的时候还要加1个长度参数scanf_s("%c",&c,1);//这样就好了,后面的参数1表示只读取1个输入字符
生秆19161465850问: 字符串的输入为什么不能用scanf("%s",s);还有和空格的字符串输入搞不懂 - ?
林甸县确复回答: 不含空格的字符串的输入可以用scanf("%s",s)进行输入; 含有有空格的字符串建议使用gets(s)进行输入.
生秆19161465850问: 29题scanf函数不能输入字符串吗? - ?
林甸县确复回答: 空格会作为分隔符 不会被输入进字符串的,也就是你用%s输入字符串时,遇到空格就停止了,空格后面的内容也就输入不进去了
生秆19161465850问: 问一下C语言scanf的题 这道题为什么不能用scanf输入字符串? 是根本就不可以,还是这题不行 - ?
林甸县确复回答: 当scanf读字符串的时候,空格是scanf的终止符,即读到空格scanf函数就会结束
生秆19161465850问: 为什么在C语言中,字符型不能用SCANF输入,而是用GETCHAR? - ?
林甸县确复回答: 楼主你好,关于你问的这个问题在我初学C语言的时候也遇到过,不仅是一个人遇到,这是很多初学者都会遇到的问题~,当然,我不是说楼主大哥你是初学者~~~呵呵~~~~~~~这个问题曾经麻痹了很多人,开始我也是不知道是什么原因,直到一...
生秆19161465850问: C语言中关于字符数组输入,scanf为什么没执行 - ?
林甸县确复回答: 这个算是比较典型的错误的 用scanf来接收字符串,最后的回车符不会被接收,留在缓冲区,下一次再用scanf时,从回车符开始接收,所以ch接收到的字符是回车符,解决方法是,在scanf("%c",&ch);上面加上一条语句:getchar();修改后的代码类似如下:......printf("请输入要查找的字符:"); getchar(); //加上这条语句,消耗缓冲区的回车符. scanf("%c",&ch);......
生秆19161465850问: C语言中,不能用scanf()函数输入字符串后赋给字符型指针变量?具体请看下面代码中的注释.谢谢! - ?
林甸县确复回答: char *pc; 只是声明了指针,这个指针没有赋值 也就是它指向的地址还不确定 pc没有初始化改成 char place[256]; char *pc=place;
生秆19161465850问: c语言字符串指针为什么不能用scanf赋值 - ?
林甸县确复回答: 给字符串指针赋值 你要事先给指针分配空间才行.指针只是个地址,你要往指针所在的地址里存放内容,就必须给指针分配空间.如果你事先分配好了空间 ,scanf是可以给字符串指针赋值的.
生秆19161465850问: 为什么在c语言中,数据输入不能写成scanf("a=%d",a),而是scanf("%d",a)? - ?
林甸县确复回答: 首先两种形式都是错的.应该改为 scanf("a=%d",&a)和 scanf("%d",&a)其次,两种方法都是可以输入的,只是需要一些技巧而已. 众所周知,%表示格式控制,因此非格式控制符视为简单字符串. 我们就可以得到,假如要给 a 赋值 233 ,两种输入语句的输入应该分别写为 a=233233也就是说,前者应该要读入一个 "a=" 的字符串.
生秆19161465850问: c语言中,输入一个字符串使用scanf(”%s”)和gets()有什么区别 - ?
林甸县确复回答: 其实用scanf("%s",);和gets();本质上没有什么区别,都是将字符数据输入到制定的内存单元中. 假设定义有字符数组(C语言把字符串按字符数组处理)str[30],那么我们向里面输入字符就可以为: scanf("%s",str); gets(str); 他们都...