C语言中的scanf是什么意思
24个回答
展开全部
在C语言中%*c 是用来吃掉垃圾的,吃掉输入时留下的 空格或者是回车时的垃圾。
例子:
#include <stdio.h>
int main()
{
int x;
char ch;
scanf("%d",&x);
scanf("%c",&ch);
printf("x=%d,ch=%d\n",x,ch);
return 0;
}
// 输入 :12 a 输出:12 32 因为在这种情况下ch接受的是12和a 中间的空格,空格的ASICC是32;如果改成 :
scanf("%d",&x):
scanf("%*c%c",&ch);
此时输出的就是正确的了。。。
例子:
#include <stdio.h>
int main()
{
int x;
char ch;
scanf("%d",&x);
scanf("%c",&ch);
printf("x=%d,ch=%d\n",x,ch);
return 0;
}
// 输入 :12 a 输出:12 32 因为在这种情况下ch接受的是12和a 中间的空格,空格的ASICC是32;如果改成 :
scanf("%d",&x):
scanf("%*c%c",&ch);
此时输出的就是正确的了。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf表示从键盘输入指定格式的数据。如:scanf(\"%d\",x);指从键盘给x输入一个int型(整型)数据;scanf(\"%f\",x);指从键盘给x输入一个float型(实型)数据;
对应的输出为:printf 按照指定的格式输出数据;如printf(\"%d\",x); 指按整型数据输出X中的值。
对应的输出为:printf 按照指定的格式输出数据;如printf(\"%d\",x); 指按整型数据输出X中的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如:
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符
跳过一个字符
举个例子
#include "stdio.h"
int main(){
int a, b;
scanf("%d%*c%d", &a, &b);
printf("%d %d\n", a, b);
return 0;
}
你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b.
scanf("%d %*d %d",&a,&b);
当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。
%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符
跳过一个字符
举个例子
#include "stdio.h"
int main(){
int a, b;
scanf("%d%*c%d", &a, &b);
printf("%d %d\n", a, b);
return 0;
}
你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf()是包含在头文件stdio.h里的一个函数,用途是输入,格式同输出函数printf()。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询