新人不理解
double a,b,c;printf("a=");
scanF("%0.3lf",a);
printf("b=");
scanf("%0.3lf",b);
为啥这种情况只有第一个可以运行
第一个 scanf 的 f 变成大写的了吧,改成小写的应该就没问题吧,参考代码:
double a,b,c;
printf("a=");
scanf("%0.3lf",a);
printf("b=");
scanf("%0.3lf",b);
本帖最后由 jackz007 于 2022-10-11 22:38 编辑
#include <stdio.h>
int main(void)
{
double a , b , c ;
printf(" a = ") ;
scanf("%lf" , & a) ; // scanf() 中格式描述符不可出现类似于 %.3lf 这样的格式指定,变量要取址
printf(" b = ") ;
scanf("%lf" , & b) ;
printf("a = %.3lf , b = %.3lf\n" , a , b) ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
a = 2
b = 3
a = 2.000 , b = 3.000
D:\\C>x
a = 2.7185678
b = 3.1415926
a = 2.719 , b = 3.142
D:\\C> Twilight6 发表于 2022-10-11 22:12
第一个 scanf 的 f 变成大写的了吧,改成小写的应该就没问题吧,参考代码:
不止,还有变量保存的路径&a&b xxm8023 发表于 2022-10-11 23:44
不止,还有变量保存的路径&a&b
嗷嗷,这样
xxm8023 发表于 2022-10-11 23:44
不止,还有变量保存的路径&a&b
不止,还有变量保存的路径&a&b
你这个说法让我耳目一新。
我一直理解的是这样,把变量a的地址作为参数,并且实际参与到scanf函数中。可以吗?谢谢
double a,b,c;
printf("a=");
scanF("%0.3lf",a); //这里scanf 还有scanf后的a、要传地址,写成&a
printf("b=");
scanf("%0.3lf",b);//同上
scanf 的用法scanf(“数据类型字符”,变量地址(& 变量))
页:
[1]