首先,我必须说,我对使用C进行编程非常陌生,但我无法克服我的问题之一:

#include <stdio.h>
void main(){
    struct huh{
        char cos[];
    };
    huh(abbcabd);
    printf("%c",cos[3]);
}


在这种情况下,我希望输出为“ b”,但是我不需要注释此代码根本不起作用。

我想在huh()括号中输入一些文本,以便随后将其转换为数组或类似内容,因此以后可以使用输入字母的顺序。

对我来说重要的是,它的用法应该只是现在看起来-只需在括号中键入任何内容即可。

那么它应该是什么样子?
提前致谢,
有翼的

最佳答案

#include <stdio.h>

#define huh(x) cos = #x

char *cos;

int main(){
    struct huh{//unuse type
        char dummy;
        char cos[];
    };

    huh(abbcabd);

    printf("%c",cos[3]);//print c, array origin 0 in C
    return 0;
}

08-16 20:36