[英]i am getting a unknown error in my c program
代码:
#include <stdio.h>
void main()
{
int s1,s2,s3,s4,s5,sum;
float per;
printf("Enter subject 1 marks out of 100 \n");
scanf("%d",s1);
printf("Enter subject 2 marks out of 100\n");
scanf("%d",s2);
printf("Enter subject 3 marks out of 100 \n");
scanf("%d",s3);
printf("Enter subject 4 marks out of 100\n");
scanf("%d",s4);
printf("Enter subject 5 marks out of 100\n");
scanf("%d",s5);
sum=s1+s2+s3+s4+s5;
per=sum/100;
if (per>60 && per<70){
printf("your percentage is %d and you get 10% schoolarship",per)
;}
else if (per>70.1 && per<90){
printf("your percentage is %d and you get 20% schoolarship",per)
;}
else {
printf("your percentage is %d and you get 30% schoolarship",per)
;}
}
Output:
我正在尝试制作一个百分比计算器,它显示了一个奇怪的 output。
我究竟做错了什么?
当你调用 scanf 时,重要的是传入你要存储的变量的地址。 否则,scanf 将不会像您预期的那样运行。
现在,您没有将地址传递给 scanf; 而是变量本身。 因此,您应该执行以下操作:
scanf("%d",&s1);
反而。
https://www.tutorialspoint.com/c_standard_library/c_function_scanf.htm
我建议阅读以下链接,了解 scanf 的工作原理。
“以下是 scanf() function 的声明。
int scanf(const char *format, ...)"
此外,请查看此链接以获取 scanf 的一些示例: https://www.programiz.com/c-programming/c-input-output
scanf("%d", &testInteger);
语法是先格式化,然后传入要存储数据的地址。
scanf()
需要一个指向值的指针,它应该是scanf("%d",&s1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.