|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
按照小甲鱼教程上的代码我写了出来,但是会报错,
返回值类型与函数类型不匹配
返回值类型与函数类型不匹配
“return”: 无法从“char”转换为“char *”
不知道是怎么一回事
<#include <iostream>
#include <stdio.h>
char *getWord(char);
char *getWord(char c)
{
switch (c)
{
case 'A':return "Apple";
case 'B':return "Banana";
default: NULL;
}
}
int main()
{
char input;
scanf_s("%c", &input);
printf("\n%s", getWord(input));
} >
因为是拿VS 2019写的,默认为c++,我拿来练习c了
首先,你不能拿字符串/字符数组常量作为char指针类型返回
其次,default 后面没有写return
那两个字符串必须定义成static,否则函数结束就释放了,无法在主函数中打印
- #include <stdio.h>
- char *getWord(char c)
- {
- static char A[]="Apple",B[]="Banana";
- switch (c)
- {
- case 'A':return A;
- case 'B':return B;
- default: return NULL;
- }
- }
- int main()
- {
- char input;
- scanf("%c", &input);
- printf("\n%s", getWord(input));
- return 0;
- }
复制代码
|
|