我在C中编码相当新,目前我正在尝试创建一个返回ac字符串/ char数组并分配给变量的函数.
到目前为止,我已经观察到返回char*是最常见的解决方案.所以我试过:
char* createStr() {
char char1= 'm';
char char2= 'y';
char str[3];
str[0] = char1;
str[1] = char2;
str[2] = '\0';
char* cp = str;
return cp;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我如何使用返回char*并将它指向的char数组赋值给char []变量?
我尝试过(都导致了noob-drowning错误):
char* charP = createStr();char myStr[3] = &createStr();char* charP = *createStr();我试图创建一个回文检查器.我正在使用StringBuilder,我发现附加空格有点棘手.
当单词没有空格时,此代码有效:
public String palindrome (String anyString) {
StringBuilder sb = new StringBuilder();
for (int i = anyString.length()-1; i>=0; i--) {
sb.append(anyString.charAt(i));
}
String string2 = sb.toString();
return string2;
}
Run Code Online (Sandbox Code Playgroud)
当输入的单词有空格时; 它返回一个字符串,其中包含第一个空格的字符.
例如:
word = "not a palindrome"
palindrome(word) = "emordnilap"
Run Code Online (Sandbox Code Playgroud)
期待 ="emordnilap一吨"
我试过插入
if (anyString.charAt(i) != ' ')
sb.append(anyString.charAt(i));
else
sb.append(' ');
Run Code Online (Sandbox Code Playgroud)
在代码的中间,但它不起作用.
多谢你们!
我正在尝试创建一个函数,该函数将字符串作为函数并返回一个int.
public int convert (String input) {
int x = -1;
if (input == "one") {
x = 1;
}
else if (input == "two") {
x = 2;
}
else if (input == "three") {
x = 3;
}
return x;
}
Run Code Online (Sandbox Code Playgroud)
问题是,(假设输入始终是三个输入之一),函数始终返回-1.我试过了:
和:
public int convert (String input) {
if (input == "one") {
return 1;
}
else if (input == "two") {
return 2;
}
else if (input == "three") {
return 3;
}
return -1; …Run Code Online (Sandbox Code Playgroud)