接受需要字符串文字的函数中的字符。

问题描述:

所以我觉得我搞砸了。我在我的程序中创建了一个接受占位符的字符串文字的函数。接受需要字符串文字的函数中的字符。

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',因为它不会修改字符串 –

如果我明白你问的是什么,我相信你想从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]};' –