#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { unsigned char buf[5] = {0}; int i; float f; for (i =0; i<4; i++) { printf("请输入第%d个数:/n", i+1); scanf("%x", &buf[i]); } memcpy(&f, buf, sizeof(float)); printf("float=%f/n", f); return 0; } 这是用C语言写的,以十六进制格式输入四个数,输出由这四个数组成的浮点数的值。 在C++代码中,可以以十六进制的方式输入,代码如下。但是如果输入5a,那么会将5当做一个数,a当做一个数。怎么样写可以将5a作为一个数读入呢? #include <iostream> using namespace std; void main() { unsigned char p[4]; cout << "请依次输入四个数。(十六进制)" << endl; for (int i=0; i<4; i++) { cin >> hex >> p[i]; } float *q = (float*)p; cout << *q; }