大家好,我是讯享网,大家多多关注。
1.字符串数组+初始化
char S1[]= & # 34;数组& # 34;;//字符数组char S2# include & ltstdio.h & gt# include & ltstdlib.h & gtint main(){ char * spchar str1[60],str 2[60];gets(str 1);//gets()函数将接收整个输入字符串,直到遇到换行符printf(& # 34;% s \ n & # 34,str 1);scanf(& # 34;% s \ n & # 34,str 2);//scanf如果进入空单元格,那么空单元格之后的字符将被视为字符串的结尾,printf(& # 34;% s \ n & # 34,str 2);8.使用while(scanf(& # 34;% d & # 34,&n)!=EOF){}实现输入一组数据后无需退出控制台即可输入多组测试数据。;//初始化int I = 0 between空;for(I = 0;我& lt10;i++){//scanf(& # 34;% s \ n & # 34,sp[I]);//这是错误的,会覆盖第一个数组地址scanf(& # 34;% s \ n & # 34,sp+I);} for(I = 0;我& lt10;i++){ printf(& # 34;% s \ n & # 34,sp+I);//pointer }返回0;}或者= & # 34;数组& # 34;;//数组长度=字符串长度+1,因为’ \ 0′ printf会自动加在字符串末尾(& # 34;%s,% c \ n & # 34,s1,S2[2]);//数组,r2。字符串指针+初始化
char * sp = & # 34指针& # 34;;//字符指针printf(& # 34;%s,%c,% c \ n & # 34,sp,*sp,*(sp+2));//指针,p,i3。阵列+扫描f
char S1[6];scanf(& # 34;% s \ n & # 34,S1);printf(& # 34;%s,% c \ n & # 34,s1,S1[2]);//数组,r4。指针+扫描
# include & ltstdio.h & gt# include & ltstdlib.h & gt//不要忘记添加这个头文件,否则使用malloc会给出错误int main(){ char * sp;sp =(char *)malloc(sizeof(char));scanf(& # 34;% s \ n & # 34,sp);printf(& # 34;%s,% c \ n & # 34,sp,* sp);//指针,p返回0;}或者
[6]
# include & ltstdio.h & gt# include & ltstdlib.h & gtint main(){ char sp[10][100];//初始化int I = 0 between空;for(I = 0;我& lt10;i++){ scanf(& # 34;% s \ n & # 34,sp[I]);//相当于sp[1][100]} for(I = 0;我& lt10;i++){ printf(& # 34;% s \ n & # 34,sp[I]);//pointer }返回0;}5.指针+数组+扫描
char str[60],* sp = str//将数组的第一个地址str赋给指针变量spscanf(& # 34;% s \ n & # 34,sp);printf(& # 34;%s,%c,% c \ n & # 34,sp,*sp,*(sp+3));//指针,p,nprintf(& # 34;%s,%c,% c \ n & # 34,str,str[0],str[3]);//指针,p,n6。注意:控制台操作将以下列方式终止。
char * sp//sp未初始化并指向未知的scanf(& # 34;% s \ n & # 34,sp);printf(& # 34;% s \ n & # 34,sp);7.使用scanf和gets(字符数组名或指针)进行输入的区别:
char str1[60],str2[60];gets(str1); //gets()函数将接收输入的整个字符串直到遇到换行为止printf(“%s\n”,str1);scanf(“%s\n”,str2);//scanf如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理printf(“%s\n”,str2);8.使用while(scanf(“%d”,&n)!=EOF){ }实现多组测试数据输入,而不在输入完一组数据后退出控制台
8.使用while(scanf(& # 34;% d & # 34,&n)!=EOF){}实现输入一组数据后无需退出控制台即可输入多组测试数据。
char s1[60],s2[60];int cnt; //用来测试scanf返回被输入函数成功赋值的变量个数while((cnt=scanf(“%s%s”,s1,s2))!=EOF){ //当按下ctr+z终止输入时,scanf会返回EOF(-1)\n printf(“scanf返回了%d, s1是%s,s2是%s, 这行输出下方可以继续进行输入\n”,cnt,s1,s2); //scanf若成功输入str1和str2则返回2}printf(“%d”,cnt);//当按下ctr+z后会执行该条输出-1
本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://51itzy.com/45496.html