ddgw.net
当前位置:首页 >> 字符串的输入sCAnF >>

字符串的输入sCAnF

1 s与&s都表示地址,且值相等.2 s与&s类型不一样,s的类型为char *,&s的类型为char (*)[10],即指向一行有10个字符的指针.3 在scanf("%s",&s);语句中,&s有一个隐含的强制类型转换,即相当于scanf("%s",(char *)&s);

scanf 输入到空格结束.所以 a1="aa" a2="bb" 都是空格结束的.gets输入一行, 到换行结束. 所以 a3="cc dd" puts输出字符串同时换行.所以输出是 aa bb cc dd 选A

scanf_s函数在输入的时候还要加1个长度参数scanf_s("%c",&c,1);//这样就好了,后面的参数1表示只读取1个输入字符

字符数组存储方式是以'\0'结尾的 '\0'算一个字符 所以s[5] 字符数组 里面只能存4个输入字符 s1[4]只能存3个输入字符 scanf()函数呢是以回车表示输入结束的 如果输入的字符串长度大于了你定义的长度 超过部分会自动截断 根据编译器的不同 有的是前截断 有的是后截断 你这个就是把前面的截断不要了 内存里面存的真正的是 s[5]=“youk\0” s1[4]="onw\0" 输出的时候'\0'是结束的标志不输出 所以输出s1 就是 onw 连续输出输出s和s1 就是 youkonw

?1234567891011121314151617#include<stdio.h> void main() { char str[100]; char* p=NULL; printf("请输入一段英文文章:\n"); gets(str); // scanf("%s",str); p=str; for(;*p!='\0';p++) { if(*p=='H') { printf("%s\n",p); } } }在这段简单的程序中,会

char s[80];scanf("%s",s);char s[80],*p;p=s;scanf("%s",p);两种方式都能输入字符串.

scanf("%s",str2)的实际操作是将str2作为一个指针,按照字符串(%s)来读取和识别标准输入的内容,并将读取到的内容存储到指针str2所指地址中.你的str1被赋值为空(null),即为0,所有的系统均不会允许读写地址0上的内容,所以报错.可以试着申请一个地址并赋值给str1,这样就能读写了,最后记得释放内存#include #include int main(int argc, char* argv[]){ char* str1 = (char *)calloc(1, 10); scanf("%s", str1); printf("%s", str1); free(str1);}

int a,b,; scanf("%d,%d,%d",&a,&b,&c); 输入时注意格式 如:1,2,3

scanf输入字符串当字符串中含有空格的时候,空格后面的部分将不会被读入;而用gets则可以;比如一定义变量name:1、scanf("%s",name);2、gets(name);当你从键盘输入:string question 时,两者的s变量的值分别为:1、string;2、string question;对于这些简单问题课本一般都会有说明,要多看看课本;

scanf函数只能输入不带空格的字符串,因为它读入到空格时就结束了.而gets函数可以读入带空格的字符串.例如:#include <stdio.h> int main() { char s[100]; scanf("%s",s); printf("%s\n",s); gets(s); printf("%s\n",s); return 0; } 两次输入,都输入字符串"ab cd",输出却不一样:第一次输出ab,因为scanf遇到空格时停止读入,第二次输出ab cd,因为gets函数是以换行符为结束标志的.

网站首页 | 网站地图
All rights reserved Powered by www.ddgw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com