c中的字符串数据类型
我是C语言的初学者, 我正在尝试编写一个函数来返回字符串。 我知道C语言中没有字符串数据类型。我尝试使用一个字符数组来代替这些字符,但这不是我的解决方案c中的字符串数据类型,c,string,char,C,String,Char,我是C语言的初学者, 我正在尝试编写一个函数来返回字符串。 我知道C语言中没有字符串数据类型。我尝试使用一个字符数组来代替这些字符,但这不是我的解决方案 char[] my_function(int x){ if(x>0) return 'greaterThanZero'; else return 'smallerOrEqualOfZero'; } 请帮助我。使用“而不是”('greaterThanZero'应该是“greaterThanZ
char[] my_function(int x){
if(x>0)
return 'greaterThanZero';
else
return 'smallerOrEqualOfZero';
}
请帮助我。使用
“
而不是”
('greaterThanZero'
应该是“greaterThanZero”
)使用“
而不是”
('greaterThanZero'
应该是“greaterThanZero”
)在greaterThanZero和smallerOrEqualOfZero周围使用双引号
或者,您也可以返回单个字符(比如g/s)&然后在调用者函数中使用条件
注意:“greaterThanZero”通常会进入const部分,而不是堆栈。因此,从函数返回应该是安全的。在大于零和小于零的地方使用双引号 或者,您也可以返回单个字符(比如g/s)&然后在调用者函数中使用条件
注意:“greaterThanZero”通常会进入const部分,而不是堆栈。因此,从函数返回应该是安全的。返回类型需要是
const char*
,字符串文本需要用双引号括起来:
const char * my_function(int x)
{
if (x > 0)
return "greaterThanZero";
else
return "lessThanOrEqualToZero";
}
int main(void)
{
printf("my_function(1) = %s\n", my_function(1));
printf("my_function(0) = %s\n", my_function(0));
printf("my_function(-1) = %s\n", my_function(-1));
return 0;
}
请注意,单引号用于char
变量:
char c = 'X'; // single character - single quotes
char *s = "Hello world!"; // string - double quotes
返回类型需要是
const char*
,字符串文本需要用双引号括起来:
const char * my_function(int x)
{
if (x > 0)
return "greaterThanZero";
else
return "lessThanOrEqualToZero";
}
int main(void)
{
printf("my_function(1) = %s\n", my_function(1));
printf("my_function(0) = %s\n", my_function(0));
printf("my_function(-1) = %s\n", my_function(-1));
return 0;
}
请注意,单引号用于char
变量:
char c = 'X'; // single character - single quotes
char *s = "Hello world!"; // string - double quotes
大体上
int main() {
char *string;
my_function(1, &string);
printf("%s",string);
}
int main() {
char string[100];
my_function(1, string);
printf("%s",string);
}
另一种方式:
void my_function(int x, char *T){
if(x>0)
strcpy(T,"greaterThanZero");
else
strcpy(T, "smallerOrEqualOfZero");
}
大体上
int main() {
char *string;
my_function(1, &string);
printf("%s",string);
}
int main() {
char string[100];
my_function(1, string);
printf("%s",string);
}
大体上
int main() {
char *string;
my_function(1, &string);
printf("%s",string);
}
int main() {
char string[100];
my_function(1, string);
printf("%s",string);
}
另一种方式:
void my_function(int x, char *T){
if(x>0)
strcpy(T,"greaterThanZero");
else
strcpy(T, "smallerOrEqualOfZero");
}
大体上
int main() {
char *string;
my_function(1, &string);
printf("%s",string);
}
int main() {
char string[100];
my_function(1, string);
printf("%s",string);
}