所以我覺得我搞砸了。我在我的程序中創建了一個接受佔位符的字符串文字的函數。接受需要字符串文字的函數中的字符。
foo("c");
char foo(char *bar){
//stuff
}
所以我去了對程序的其他部分的工作,當我回來的這部分問題,我需要一個單個字符從2D char數組中的地方去。我以這樣的方式編寫了foo函數,它必須是一個字符串。我已經盡了一切努力使其工作。請幫助...
所以我覺得我搞砸了。我在我的程序中創建了一個接受佔位符的字符串文字的函數。接受需要字符串文字的函數中的字符。
foo("c");
char foo(char *bar){
//stuff
}
所以我去了對程序的其他部分的工作,當我回來的這部分問題,我需要一個單個字符從2D char數組中的地方去。我以這樣的方式編寫了foo函數,它必須是一個字符串。我已經盡了一切努力使其工作。請幫助...
如果我明白你問的是什麼,我相信你想從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);
是真棒謝謝,任何有關如何在將來避免這種情況的見解?也是char [2]被寫成像java一樣。這將是char str [2]; – gemini88mill
@ gemini88mill好抓,固定 – AlexPogue
你錯過了'char [2] str'。該代碼可以簡化爲char str [2] = {arr [0] [0]};' –
不會* FOO的給你單字符 'C' 裏面吧? – bruceg
'foo((char []){x,'\ 0'});',其中'x'是你想要放入的另一個字符 –
順便說一句,你的函數應該接受'char const * bar'而不是'char * bar',因爲它不會修改字符串 –