c语言字符串输入scanf
『壹』 c语言,scanf 输入字符问题
屏幕上输入的字符,会暂存到缓存。不信,你可以一直按着键盘,不多会,你就会听到系统发出嘟嘟的报警声,说明缓冲区已经满了。
scanf()函数只是从当前缓冲区取一个相应的字符;其中缓冲区的最后一个字符为'\n';
按你说的,可以用循环,接收字符同样可以用getchar()函数。
char ch;
while(1){
scanf("%c",&ch);
if(ch=='\n') break; /* 当输入回车时,结束 */
/* 对ch做相应处理 */
}
『贰』 c语言关于字符串用scanf输入的问题
如果第一个是输入%s 第二个输入一个%c
那么由于 回车'键'在Windows系统中用"\n\r"两个字符表示,专所以由于scanf读入的问题只接受一属个以字符就会多余一个,而这个多余的就会被下一个输入字符所接受,所以才未输入就结束了。
这是在两个输入之间加入getchar()即可接受这个多余的字符。或者把输入字符串改为gets(str)。
『叁』 c语言用scanf输入字符串
有了char a[10];,那么复a就是这个数制组的第一个元素的指针,&a就是这个数组的指针;因为一维数组的第一个元素的指针和这个数组的指针是同一个地址,区别是a+1指向a[1],而&a+1就指向a[10]了(这里已越界了)。但&a和a的"值"是相同的,只是类型不同。C调用函数时,实参的类型都会被强制为形参的类型,scanf("%s", &a)或scanf("%s", a)中要求参数是char *型指针,那么&a尽管是char **类型,但被强行转换为char *型了……
『肆』 c语言怎么用scanf输入字符串
c语言用scanf输入字符串:
char s[300];
scanf("%s",s);
这个语句只能输入不包含空格和跳格键的字符串并且以回车符结束输入。
『伍』 c语言scanf 和gets对字符串的输入
?
1234567891011121314151617#include<stdio.h>void main(){char str[100];char* p=NULL;printf("请输入一段英文文章: ");gets(str);// scanf("%s",str);p=str;for(;*p!='