c语言初学者求教,自己根据书本知识写的一个简单程序,错在哪里了,能告诉我么?

# include <stdio.h>
int main()
{
int a,b,s;
a=2,b=3;
s=a+b;
printf("s=d%\n",s)
return 0;
}

第1个回答  2019-12-24

printf 里  应该是  %d  不是  d%

还有  最后的  分号  不能少

截图

第2个回答  2019-10-22

看到你的追问233

写小数的话,你要声明浮点类型的变量

int得换成float或者double,float精度低一些占用内存小一些,double精度更高一些,占用内存也多。

然后你就可以赋给变量小数啦

记得打印时通配符要换成%f来打印小数,%d只能打印整数

第3个回答  2019-10-22

问题1

最大的问题在于printf后面分号丢了

导致程序无法编译通过


问题2

通配符写错了,导致输出是s=d而非s=...

printf("s=d%\n",s)

应该是

printf("s=%d\n",s)

追问

那如果要计算小数比如3.5+2.5应该怎么编写程序

本回答被网友采纳
第4个回答  2019-10-22
# include <stdio.h>

int integer(int a, int b) {
int s;
s = a + b;
printf("s=%d\n", s);
return s;
}

double decimal(double a, double b) {
double s;
s = a + b;
printf("s=%lf\n", s);
return s;
}

int main() {
int c;
while (1) {
printf("计算小数还是整数?\n1.整数2.小数\n");
scanf("%d", &c);
if (c == 1) {
int a, b;
printf("input a number\n");
scanf("%d", &a);
printf("input another number\n");
scanf("%d", &b);
integer(a, b);
} else if (c == 2) {
double a, b;
printf("input a number\n");
scanf("%lf", &a);
printf("input another number\n");
scanf("%lf", &b);
decimal(a, b);
} else {
printf("error ! try again\n");
}
}
}
第5个回答  2020-01-06
你printf后面没有分号(英文状态下的)
相似回答