gpt4 book ai didi

c - 十进制到十六进制转换器

转载 作者:行者123 更新时间:2023-11-30 19:18:58 25 4
gpt4 key购买 nike

我是编程新手,我收到了第一份作业。该作业是将十进制输入转换为十进制和十六进制。如果我输入 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;
}

编译程序时没有错误,但是当我输入某些内容时,我永远不会得到可理解的输出。有人能看出原因吗?我应该改变什么?

这当然是 C 编程,我使用 Atmel Studio 编写程序,并使用 Arduino 在 Realterm 中运行它。

PS:正如我所说,这是一个模板。我添加的唯一内容是 %d、%x 和 &inputs,我认为它们属于它们。

最佳答案

而不是

    scanf("%d %x", &input, &input);
printf("You wrote %d\n", input);

你需要

    scanf("%d", &input); // Read one number
printf("You wrote %d %x\n", input, input); // Write it out in decimal and hex.

关于c - 十进制到十六进制转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25922370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com