2015-11-20 77 views
1

所以我覺得我搞砸了。我在我的程序中創建了一個接受佔位符的字符串文字的函數。接受需要字符串文字的函數中的字符。

foo("c"); 


char foo(char *bar){ 
    //stuff 
} 

所以我去了對程序的其他部分的工作,當我回來的這部分問題,我需要一個單個字符從2D char數組中的地方去。我以這樣的方式編寫了foo函數,它必須是一個字符串。我已經盡了一切努力使其工作。請幫助...

+0

不會* FOO的給你單字符 'C' 裏面吧? – bruceg

+1

'foo((char []){x,'\ 0'});',其中'x'是你想要放入的另一個字符 –

+1

順便說一句,你的函數應該接受'char const * bar'而不是'char * bar',因爲它不會修改字符串 –

回答

1

如果我明白你問的是什麼,我相信你想從char類型的char轉換爲一個字符串傳遞給foo函數。

解決方案

char arr[2][2] = {{'0', '1'}, 
        {'2', '3'}}; 
char c = arr[0][0]; // grab a char from the 2d array 
char str[2] = "\0"; // gives {'\0', '\0'} 
str[0] = c;   // fill in the first character 
foo(str); 
+0

是真棒謝謝,任何有關如何在將來避免這種情況的見解?也是char [2]被寫成像java一樣。這將是char str [2]; – gemini88mill

+0

@ gemini88mill好抓,固定 – AlexPogue

+0

你錯過了'char [2] str'。該代碼可以簡化爲char str [2] = {arr [0] [0]};' –

相關問題