我的程序段
1)写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
C++:
#include <iostream>
#include <cmath>
#include <cstring>
#define N 100
using namespace std;
int main()
{
char a[N];
int sum = 0, len = 0;
while (gets(a))
{
len = strlen(a);
for (size_t i = len - 1; i >= 0; i--)
{
if (a[i] >= 'A' && a[i] <= 'F')
{
sum = ((a[i] - 55) * pow(16, len - i - 1));
}
else if (a[i] >= '0' && a[j] <= '9')
{
sum = ((a[i] - 48) * pow(16, len - i - 1));
}
}
cout << sum << endl;
sum = 0;
}
return 0;
}
2)考虑下面的代码段是否会通过编译,如果通过,输出结果是什么?
/**
* JDK 1.8
*/
public class Meno {
public static void main(String[] args) {
m();
}
public static void m(int ... a) {
System.out.println("1");
}
public static void m(short ... b) {
System.out.println("2");
}
public static void m(long ... a) {
System.out.println("3");
}
public static void m(byte ... a) {
System.out.println("1");
}
}
答案:通过编译,1。
结论:m()的重载方法可变参数类型越小,执行的优先级越高。
posted on 2019-05-22 22:24 jinzhaoshi 阅读(96) 评论(0) 编辑 收藏 举报