0
在我的c程序中,我試圖讓通過命令行傳遞的參數轉換爲數字。在我想'a'
等於1換句話說,並'z'
等於26將CMD行參數轉換爲數字字符
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,j,num;
for(i=1; i<argc; ++i)
{
for(j=0; argv[i][j] != '\0'; ++j)
{
//printf(":%c", argv[i][j]);
if (argv[i][j] >= 'A' && argv[i][j] <= 'Z')
{
num = argv[i][j] - 'A';
}
else if (argv[i][j] >= 'a' && argv[i][j] <= 'z')
{
num = argv[i][j] - 'a';
}
num = num + '0';
printf("%d\n", num);
}
}
printf("\n");
return 0;
}
問題是,當我運行此命令:
./encript a
我希望我的程序返回一個價值,而是我得到這個:
48
你也許可以讓所有一行通過改變字符使用函數從的#include headerfile降低的原因,然後就減去'一個'。 –
starlight
「我想'a'等於1」 - >'num = argv [i] [j] - 'a'+ 1;'。刪除'num = num +'0';' – chux