c语言scanf无法输入值
发布网友
发布时间:2022-05-29 20:26
我来回答
共5个回答
热心网友
时间:2023-11-22 13:54
scanf()是C语言标准库中的输入函数,声明包含在stdio.h文件中,因此要使用该函数,必须加载#include<stdio.h>头文件。当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,等用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。
函数原型:int scanf(const char *format,...);
说明:scanf() 是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
其调用形式为: scanf("<格式说明字符串>",<变量地址>);变量地址要求有效,并且与格式说明的次序一致。
使用示例:
//使用scanf函数输入一个字符变量。
char a;
scanf(“%c”,&a);
//同时输入多个值。
scanf(“%d,%d”,&num1,num2);
//在内部不能使用\n转义字符,否则没完没了。
scanf(“%d\n”,&a);
热心网友
时间:2023-11-22 13:55
#include<stdio.h>
main()
{
char sex = '0',diet = '0',sports = '0';
double faHeight = 0,moHeight = 0,x = 0;
printf("please input your parents's Height: ");
scanf("%f%f",&faHeight,&moHeight);}因为faHeight,moHeight都是double类型,但scanf里面是%f这样造成的输入错误是内存的分配问题,scanf("%lf%lf",&faHeight,&moHeight);注意变量的类型与输入时的类型必须一致,否则输入失败
热心网友
时间:2023-11-22 13:55
头文件 #include<stdio.h>别忘了加
#include<stdio.h>
int main()
{
int a,b,c;
printf("输入 a, b, c\n");
scanf("%d,%d,%d", &a, &b, &c);
printf("a = %d b = %d c = %d\n", a, b, c);
return 0;
}
热心网友
时间:2023-11-22 13:56
scanf 使用的时候,要加上取地址符号 &,看下面代码
int a;
scanf("%d",&a);
追问有这个,你看看代码
#include
main()
{
char sex = '0',diet = '0',sports = '0';
double faHeight = 0,moHeight = 0,x = 0;
printf("please input your parents's Height: ");
scanf("%f%f",&faHeight,&moHeight);
追答正确答案有了
热心网友
时间:2023-11-22 13:57
记得看scanf("%d,%d,%d", &a, &b, &c);有没有加&符号追问%d%d之间没有“,”吧
C语言-循环里第二个scanf不能输入内容
这个原因是由于输入数字之后的回车符号引起的;可以在scanf ("%c", &option)之前,或者scanf ("%d", &sum)之后加一句fflush(stdin)来刷新缓冲区进行解决,也可以用getchar()获得一个字符来解决该问题。
c语言scanf为什么不能直接赋值?
1、scanf("%d,%d",&a,&b);按照这个格式,输入数据的时候,应该加上逗号。比如说想输入22 33 就应该 22,33。2、也可以像这样scanf("%d %d",&a,&b);中间用空格隔开,那样就可以直接输入 22 33了。scanf 的功能用一句话来概括就是“通过键盘给程序中的变量赋值”。该函数的原型为:include...
c语言scanf无法写入字符
当运行输入字符串s后会以回车结束,而以上代码第5行scanf_s不会读入回车符,回车符被代码第7行getch读入,因此输出结果不会保留,程序直接结束。
C语言 为什么用了scanf后,还是不能给变量x赋值?
x在这里定义的是double类型,所以在scanf里应该用%lf f对应的是float类型的输入
C语言结构体指针用scanf输入浮点数,无法输入,没有输入界面,也没有输...
C语言中从键盘输入的输入语句最常用的是scanf语句,函数原型为int scanf( char *format,args,...);功能是从标准输入设备按format指向的格式字符串所规定的格式,输入数据给args所指向的单元.C++中,可以使用scanf语句和cin(标准输入流)两种方式。标准输入流cin是从键盘向内存流动的数据流,用>>运算符...
C语言的scanf不能输入回车
你这个,参数写的不对啊!scanf("%s",a,5);这个才是完整的一个s的读取啊
c语言中用scanf函数先输入字符串,后输入数值。输出时会出现错误的数值...
include<stdio.h> int main(){ char str[50];int a;scanf("%s%d",str,&a,&a);printf("str=%s\n",str);printf("a=%d\n",a);return 0;} 你下面的代码我给你改了一下,把%s%d之间的空格去掉了,然后加了一个&a,通过两次赋值,消除缓冲中回车的干扰 ...
C语言用scanf输入字符输出确实错误的。。。
朋友,你没有加输入分隔符,空格,逗号都可以,你加上试试如果有其他错再说。这是最明显的错误(就是scanf中%c中间加)我用的是TC,都是C语言,应该是一样的,希望能够帮助到你,注意在输入的时候也要用逗号隔开
c语言 int a; float b; double c; scanf("%d,%lf,%lf",&a,&b,&c...
这是因为程序中输出数据的格式符指定错误。因为float型的输出必须%f而不能使用%lf格式符。,还有就是要注意输入数据时,要用英文的逗号分隔不同的数字:关于printf格式符更多的使用说明,见下述:详见:网页链接
程序运行后无法继续输入怎么回事?
所以把scanf函数中的字符串都去掉,这样输入时只需要输入数据,然后回车,程序就可以正常输入了.另外,结果保留两位小数应该是"result=%.2f",而不是"result=%2.f".完整的C语言程序如下(改动的地方见注释)include<stdio.h> include<math.h> int main(void) { int day;double factor, initial, result;...