scanf 接收 空格 输入_关于scanf("%d\n",&a)中的 \ n

有n的scanf的函数,必须要多输入一个非(空格,制表符,回车)的其他元素,计算机才会执行下一个语句。(源代码贴在最后)

原理是:scanf中的n和空格等,

scanf("%dn",&a) 或者scanf("%d ",&a)

实际当你输入的时候,不会是输完一个数字后就点回车然后就马上能够执行下一条语句,而是只有当scanf接收到下一个非(空格,制符表,回车)后,才会执行下一个语句!并且那个最后输入的东西是不会被读来的,会被留在输入流里。等待下一次有可能输出

667f9bc63f4405883085d7f5e456c88b.png

输入12345

f1932bb4213265294dc6350dc873831d.png

输入的3变成了结束标志,并且在输入流里面,后来才输出了

这是我本来源代码,发现错误的那个:的

#include<stdio.h>

#include<math.h>

struct triangle //定义结构体类型

{

float a,b,c;

};

float area(struct triangle side1)

{

double l,s;

l=(side1.a+side1.b +side1.c )/2;

s=sqrt(l*(l-side1.a)*(l-side1.b)*(l-side1.c));

return (float)s;

}

int main()

{

float s;

struct triangle side;

printf("imput the three sides:n");

scanf("%f %f %f",&side.a,&side.b,&side.c);

// scanf("%f %f %f ",&side.a,&side.b,&side.c);

printf("%f %f %f",side.a ,side.b,side.c);

s=area(side);

printf("the area is :%f",s);

}

f17d406fbdac70c943d350c1df8f9fe3.png

最后,感谢我的宝贝,婕婕0.0

1c88de1e4273d4b4efea79c0f7015560.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值