我是编程的初学者。对于环境,我正在使用Windows PowerShell ISE。我收到一个奇怪的错误,我不知道问题出在哪里。
这是我正在使用的代码:
scanf
我得到的错误: Error message
答案 0 :(得分:1)
您的第一个错误来自您在main方法中编写的内容
int main(){
您需要用户输入输入内容,程序不知道n是什么。
int n;
printf ("Enter a number: ");
scanf_s("%d", &n);
在最后一行,您需要将其更改为
printf ("%d dni %d ur %d minut in %d sekund", days, hours, minutes, seconds);
答案 1 :(得分:1)
来自
int main(Int argc, char **argv){
到
int main(int argc, char **argv) {
来自
printf (%d +" dni "+ %d +" ur "+ %d +" minut in "+ %d +" sekund", days, hours, minutes, seconds);
到
printf ("%d dni %d ur %d minut in %d sekund", days, hours, minutes, seconds);
阅读,阅读,阅读。文档非常重要。这是对初学者友好的site。
答案 2 :(得分:0)
更正的版本:
#include <stdio.h>
int main(){
int n;
printf ("Enter a number: ");
if (scanf("%d", &n) == 1) {
int seconds = (n % 60);
int minutes = (n % 3600) / 60;
int hours = (n % 86400) / 3600;
int days = (n % (86400 * 30)) / 86400;
printf ("Pretvorjeno število v sekunde, minute, ure ter dneve: ");
printf ("%d dni %d ur %d minut in %d sekund", days, hours, minutes, seconds);
}
return 0;
}
我删除了argc / argv,因为那里没有用
我添加了 scanf 来读取数字,当然还要检查读取是否成功(检查数字是否为正也很有趣)
我在printf中添加了换行符,并更正了格式
编译和执行:
pi@raspberrypi:/tmp $ gcc -Wall -Wextra -pedantic c.c
pi@raspberrypi:/tmp $ ./a.out
Enter a number: 12345678
Pretvorjeno število v sekunde, minute, ure ter dneve: 22 dni 21 ur 21 minut in 18 sekund