我是新进入编程的,我已经完成了第一个任务。该任务是关于将十进制输入转换为十进制和十六进制。 如果我fx类型15(输入),我应该得到15和F作为输出。 我不是从头开始构建程序。我的老师在Atmel Studio中为我提供了一个模板(如果我记得正确的话,该模板称为BasicIO)。 这是我迄今所做的:十进制到十六进制转换器
#define F_CPU 16000000UL
#include <stdio.h>
#include <avr/io.h>
#include <util/delay.h>
#include "usart.h"
int main(void) {
uart_init(); // open the communication to the microcontroller
io_redirect(); // redirect input and output to the uart
int input=0;
while(1) {
printf("Input a number\n");
scanf("%d %x", &input, &input);
printf("You wrote %d\n", input);
}
return 0;
}
有编译程序时没有错误,但我从来没有得到一个可以理解的输出,whenenver我输入的东西任何人都可以看看它的原因是什么?我应该改变什么?
这当然是C编程,我使用Atmel Studio制作程序,并使用Arduino在Realterm中运行它。 PS:据我所知,这是一个模板。我添加的唯一内容是%d,%x和&输入,我认为它们属于它们。
你似乎是采取两个输入和返回一个输出。你不想要一个输入(十进制数)并返回两个输出(十进制+十六进制数)? – 2014-09-18 21:10:06
是的,这正是我想要做的!但是,我应该如何重新排列变量,以便从1个输入中获得2个输出? – Gandhara 2014-09-18 21:14:42