我想让这个程序在main()
没有命令行参数的情况下进行打印。如果有命令行参数(应该只是一个整数),它应该运行函数bitcount()
。
我该怎么做呢?如果没有命令行参数,我不确定这将如何正常工作。
我将如何检查用户是否输入了命令行参数?如果他们这样做了,运行bitCount()
而不是main()
. 但是,如果他们没有放置任何命令行整数参数,那么它只会运行 main。
例如./bitCount 50
应该调用该bitCount
函数,但./bitCount
应该只运行main
这是我到目前为止所拥有的:
#include <stdio.h>
#include <stdlib.h>
int bitCount (unsigned int n);
int main ( int argc, char** argv) {
printf(argv);
int a=atoi(argv);
// int a = atoi(argv[1]);
printf ("# 1-bits in base 2 representation of %u = %d, should be 0\n",
0, bitCount (0));
printf ("# 1-bits in base 2 representation of %u = %d, should be 1\n",
1, bitCount (1));
printf ("# 1-bits in base 2 representation of %u = %d, should be 16\n",
2863311530u, bitCount (2863311530u));
printf ("# 1-bits in base 2 representation of %u = %d, should be 1\n",
536870912, bitCount (536870912));
printf ("# 1-bits in base 2 representation of %u = %d, should be 32\n",
4294967295u, bitCount (4294967295u));
return 0;
}
int bitCount (unsigned int n) {
//stuff here
}