我究竟需要做什么才能将argv [1]的内容转换为不使用参数的函数?
这是如何运作的?
const char *cPtr = argv[1];
并将其传递给带有0个参数的someFunction()!
如果您不想将其作为参数传递,则需要将其推送到全局中,以便函数可以以这种方式访问它.我知道没有其他方法(除了愚蠢的事情,比如把它写入文件main()
并在函数中读取它):
static char *x; static void fn(void) { char *y = x; } int main (int argc, char *argv[]) { x = argv[1]; fn(); return 0; }
这不是我怎么做的.既然你需要能够改变fn()
以获得访问权限x
,我会重写它以传递参数:
static void fn(char *x) { char *y = x; } int main (int argc, char *argv[]) { fn(argv[1]); return 0; }
当然,除非这是家庭作业,脑筋急转弯或面试问题.