char convertalphas(char s) {
switch (s){
case 'A':
return '0';
break;
case 'B':
return '1';
break;
case 'C':
return '2';
break;
case 'D':
return '3';
break;
case 'E':
return '4';
break;
case 'F':
return '5';
break;
case 'G':
return '6';
break;
case 'H':
return '7';
break;
case 'I':
return '8';
break;
case 'J':
return '9';
break;
case 'K':
return '10';
break;
case 'L':
return '11';
break;
case 'M':
return '12';
break;
case 'N':
return '13';
break;
case 'O':
return '14';
break;
case 'P':
return '15';
break;
case 'Q':
return '16';
break;
case 'R':
return '17';
break;
case 'S':
return '18';
break;
case 'T':
return '19';
break;
case 'U':
return '20';
break;
case 'V':
return '21';
break;
case 'W':
return '22';
break;
case 'X':
return '23';
break;
case 'Y':
return '24';
break;
case 'Z':
return '25';
break;
}
}
int main()
{
char astring[10];
int i = 0;
int flag = 0;
int startedalpha = 0;
//check if there is a digit input or not
int nodigit = 0;
char cell[10];
int col;
scanf("%s", &astring);
for (i = 0; i < 10; ++i)
{
if(astring[i] != '\0') {
//check whether letter is capital or small
if (astring[i] >= 65 && astring[i] <= 90)
{
startedalpha = 1;
//printf("%c\n", astring[i]);
cell[i] = convertalphas(astring[i]);
printf("cell is %s\n", cell);
}
即時嘗試做的是將所有轉換連接起來以備後用。當我放上「AB」時,它返回「01 @」,當我放上「Z」時,它返回「25」以外的東西。我不知道什麼是錯,但是這讓我瘋狂!我希望能夠輸入「ABZ」並將所有的值保存到變量單元中。例如,「ABZ」「0125」爲什麼字符串返回「@」或弄亂了我的「Z」?
謝謝!
我很困惑這個論壇。很明顯,我發佈了這個問題,因爲有些事情我不知道,我不像你們中的許多人一樣!那麼,爲什麼我會得到-2?我已經發布了我所嘗試的內容。我認爲這是關於幫助不居高臨下!
感謝那些無論如何回覆!
編輯 -
我將我switch語句來詮釋,但現在我怎麼可以連接在可變單元格中的整數?
呃,''12''不一個合法的角色。 – 2014-11-03 17:36:00
當你輸入'Z'時,你應該只返回一個字符,你怎麼能返回'25',2個字符? – AntonH 2014-11-03 17:36:12
(當然,編譯器正在吐出警告信息,或許你應該閱讀它們。) – 2014-11-03 17:37:20