c语言 scanf 和 读取回车

2024-12-11 18:46:49
推荐回答(5个)
回答1:

注意下判断语句,其实是在拿scanf的返回值在和EOF或\n比较。

scanf的返回值类型为int,值由后面的参数决定,返回值表示成功读入的数据的个数。

如:scanf("%d%d", &a, &b);

如果a和b都被成功读入,那么scanf的返回值就是2。

如果只有a被成功读入,返回值为1。

如果a和b都未被成功读入,返回值为0。

如果遇到错误或遇到end of file,返回值为EOF。

扩展资料圆袜誉:

注意事项

scanf 的各种格式中,%d、%c、%s三种最常用,通常都是以回车作为一次输入的结束。由于对字符解析方式及字符特点不同(如数字中一般不会出现空格回车等特殊字符)不同,%d格式一般不会在连续输入时,遇到问题。而%s和%c却会出现各种各样的问题,比如回车问题,空格问题等。橘段

scanf()函数返回的值为:正确好禅按指定格式输入变量的个数;也即能正确接收到值的变量个数。在类型匹配错误的时候,以非正常的方式退出。可以利用scanf函数的返回值判断输入是否正确,并进行流程控制:

int i = 0;     char c1[15];     while((scanf("%c", &c1[i])!=EOF) && i<14)
{
i++;
}

回答2:

#include

int main(){

inti;

charj;

scanf("%d",&i);

scanf("%c",&j);

printf("%d%c\n",i,j);

return0;

}

扩展资料

C语言fgets,gets,scanf对于输入完毕后的回车符的处理

1、注意fgets函数的第二个参数n,胡搜是包括结束符在内的总字数,实际强制性从键盘只能读入n-1个字符。

2、strlen函数遇结束符就会停止,返回结束符之前的字符数。

3、在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串,但是读粗做侍取字符串时读到空格为止,因此只能读取一个单词,而不是整行字符串。而使用fgets可以读岩吵取一个字符串,空白符都会被当成输入。

回答3:

C语言中,scanf是格式化输入的函咐答数。在大多数的格式字符处理衡友慧时,scanf会忽略回车。要读取回车,只有使用%c的格式。

%c格式,对应变量为char型,功能为读取一个字符,并存入到对告茄应的字符型变量中。

比如,循环读取字符,直到遇到回车结束,可以写作

char c;
while(1)
{
    scanf("%c",&c);
    if(c == '\n') break;//读取到换行符,即回车,退出循环。
}

回答4:

注意下判断语句,其实你是在拿scanf的返回值在和EOF或慎银扮\n比较!!
scanf的返回值类型为int,值由后面的参搏橘数决定,返回值表示成功读宽灶入的数据的个数
  如:scanf("%d%d", &a, &b);
  如果a和b都被成功读入,那么scanf的返回值就是2
  如果只有a被成功读入,返回值为1
  如果a和b都未被成功读入,返回值为0
  如果遇到错误或遇到end of file,返回值为EOF。

回答5:

scanf读取孙饥回车?

char c;
scanf("%c"银凯轿,&c);
if(c=='\n')printf("锋肆Yes")