我想讓這個程序在main()
中執行打印,只有沒有命令行參數。 如果有命令行參數(應該只是一個整數),它應該運行功能bitcount()
。命令行參數c
我該如何去做這件事?如果沒有命令行參數,我不確定這將如何正常工作。
如何檢查用戶是否放入命令行參數?如果他們這樣做,運行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
}
的argc是參數的個數,和argv是參數數組。所以,只需檢查'argc> 1'(第一個參數是文件名),然後使用'argv [1]'訪問值(第一參數)。 – Supericy 2013-02-08 22:08:28
真的嗎?你說你有**絕對不知道**如何做到這一點?這不可能。 – 2013-02-08 22:08:40