#include<stdio.h> #define Y 3.1536e7 int main(void) { long int age; printf("please input your age :"); scanf("%ld",age); age*=Y; printf("Your age in scecond is :%ld",age); return 0; }
时间: 2024-01-02 18:04:46 浏览: 74
#include <stdio.h>
4星 · 用户满意度95%
这段代码存在一些问题,我来帮你指出来:
1. 在第4行,scanf()函数需要传入一个指针变量作为参数,即&age,因为scanf()函数需要将输入的值存储到age变量中。
2. 在第5行,age乘以Y之后,数据类型变为了double类型,但是在printf()函数中使用了%ld却是long int类型,这会导致输出结果不正确。正确的输出格式应该为%lf。
3. 在第7行,程序应该返回0,而不是1。
下面是修改后的代码:
```c
#include <stdio.h>
#define Y 3.1536e7
int main(void) {
long int age;
printf("Please input your age: ");
scanf("%ld", &age);
age *= Y;
printf("Your age in seconds is: %lf", (double)age);
return 0;
}
```
希望对你有帮助!
阅读全文