我正在從鍵盤讀取數字,然後我必須單獨操作每個數字(它是一個八進制到十進制轉換器)。 是否有類似於Java的charAt()方法,可以用來處理特定的數字?在字符串中定義的位置獲取字符C在C
目前,我有下面的代碼(不完全),但是在編譯的時候,它會返回「錯誤:下標值既不是數組,也不指針」
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
printf("Please enter an octal number ending with #");
char nextNum = getchar();
char number;
int counterUp = 0; //Records how many digits are entered
int counterDown = 1; //Records progress during conversion
int decimalNumber = 0;
while(nextNum != '#') //reads in the whole number, putting the characters together to form one Octal number.
{
number = (number + nextNum);
counterUp++;
nextNum = getchar();
}
//Begin converson from Octal to Decimal
while(counterUp >= 0)
{
int added = (number[counterUp] * (pow(8, counterDown)));
decimalNumber = (decimalNumber + added);
counterDown++;
}
}
我不希望被告知如何從八進制去到小數點,就是如何一次處理一位數字。
請發佈完整的編譯器錯誤消息,並指出代碼中編譯器標記爲不正確的行。 – 2012-03-27 01:50:29
不正確的行是'int added =(number [counterUp] *(pow(8,counterDown)));' – Crashworks 2012-03-27 01:51:33
由於'number'是一個單一的字符,因此它就像是一個數組類型一樣訪問沒有任何意義...使用如下建議的字符數組。 – prelic 2012-03-27 01:55:37