我刚刚接受了一次采访,有人问我一个问题:如果不使用循环,您将如何打印所有ascii表字符。语言没关系。

最佳答案

我唯一想到的方法是使用递归而不是循环。执行此操作的算法如下:

void printASCII(int i){
    if(i == 128)
        return;
    print(i + " " + ((char)i) + "\n");
    printASCII(i + 1);
}

您应该使用以下方法调用上一个函数:
printASCII(0);

这将打印完整的ASCII表,其中每一行包含索引,后跟空格和实际的ASCII字符。
我想你找不到别的办法了,特别是上面清楚地写着:
语言没关系
这通常意味着问题是关于算法思想的,而不是针对任何语言。

10-08 19:57