鱼C论坛

 找回密码
 立即注册
查看: 1585|回复: 11

[已解决]这个代码运行不了,有人知道是为什么吗?

[复制链接]
发表于 2022-5-25 15:05:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. char *getWord(char);
  3. char *getword(char c)
  4. {
  5.     switch (c)
  6.     {
  7.     case 'A':
  8.         return "Apple";
  9.     case 'B':
  10.         return "Banana";
  11.     case 'C':
  12.         return "Cat";
  13.     case 'D':
  14.         return "Dog";
  15.     default:
  16.         return "None";
  17.     }
  18. }
  19. int main()
  20. {
  21.     char input;
  22.     printf("请输入一个字母:");
  23.     scanf("%c", &input);
  24.     printf("%s\n", getWord(input));
  25. }
复制代码
最佳答案
2022-5-25 15:33:03
printf("%s\n", getword(input));
uTools_1653462228084.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-25 15:09:23 From FishC Mobile | 显示全部楼层
函数返回的是 char* 指针,请问你返回的是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-25 15:18:29 | 显示全部楼层
傻眼貓咪 发表于 2022-5-25 15:09
函数返回的是 char* 指针,请问你返回的是什么?

我返回的也是char类型的指针啊,字符串不就是指向char类型的指针吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-25 15:19:31 | 显示全部楼层
我是完全照抄小甲鱼的,我不知道为什么不行
uTools_1653463139640.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-25 15:20:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 15:26:41 | 显示全部楼层
傻眼貓咪 发表于 2022-5-25 15:09
函数返回的是 char* 指针,请问你返回的是什么?

原来这玩意还能这样用啊
  1. #include <stdio.h>

  2. char* test(int a)
  3. {
  4.     if (a%2)  return "我是奇数!";
  5.     else return "我是偶数";
  6. }

  7. int main()
  8. {

  9.     printf("%s\n",test(55));
  10.     printf("%s\n",test(88));
  11.     return 0;        
  12. }

  13. /*
  14. PS D:\wp> ./ct8
  15. 我是奇数!
  16. 我是偶数
  17. PS D:\wp>
  18. */
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 15:33:03 | 显示全部楼层    本楼为最佳答案   
printf("%s\n", getword(input));
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 15:33:13 From FishC Mobile | 显示全部楼层
1613551 发表于 2022-5-25 15:18
我返回的也是char类型的指针啊,字符串不就是指向char类型的指针吗

看漏了,抱歉。你的代码W 大写写成小写了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 15:36:05 | 显示全部楼层
  1. #include <stdio.h>

  2. char *getword(char c)
  3. {
  4.     switch (c)
  5.     {
  6.     case 'A':
  7.         return "Apple";
  8.     case 'B':
  9.         return "Banana";
  10.     case 'C':
  11.         return "Cat";
  12.     case 'D':
  13.         return "Dog";
  14.     default:
  15.         return "None";
  16.     }
  17. }
  18. int main()
  19. {
  20.     char input;
  21.     printf("请输入一个字母:");
  22.     scanf("%c", &input);
  23.     printf("%s\n", getword(input));
  24. }

  25. /*
  26. PS D:\wp> ./ct8
  27. 请输入一个字母:A
  28. Apple
  29. PS D:\wp> ./ct8
  30. 请输入一个字母:B
  31. Banana
  32. PS D:\wp> ./ct8
  33. 请输入一个字母:C
  34. Cat
  35. PS D:\wp> ./ct8
  36. 请输入一个字母:D
  37. Dog
  38. PS D:\wp>
  39. */
复制代码


程序没问题,就是你的两个GETWORD 拼写不一致,导致没有链接成功exe  所以会出现你图片中的0.exe没有找到的提示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 15:36:19 From FishC Mobile | 显示全部楼层
wp231957 发表于 2022-5-25 15:26
原来这玩意还能这样用啊

没错,C 语言就是玩指针,一堆题目如:链表、二叉树等,就是把指针玩遍。想到 Python 要写二叉树,因为没有指针特性,会吐。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 15:36:28 | 显示全部楼层
本帖最后由 jhq999 于 2022-5-25 15:41 编辑

转自csdn
一旦有字符串常量在运行期间创建,就会在内存中一直保持到程序结束,当使用相同的字符串常量的时候,不会再创建字符串常量,而是指向之前的那个。因此字符串常量是贯穿整个程序的生命周期的。
  1. char *s0="hello";
  2. void a()
  3. {
  4.   char *s1="hello";
  5.   printf("%0x\n",s1);
  6.   s1="world";
  7. }
  8. void b()
  9. {
  10.    char *s2="hello";
  11.    printf("%0x\n",s2);
  12.    s2="world";
  13. }
  14. int main()
  15. {
  16. char *s3=(char *)0;
  17. printf("%0x\n",s0);
  18. a();
  19. b();
  20. s3="hello";
  21. printf("%0x\n",s3);
  22. return 0;
  23. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-25 17:48:38 | 显示全部楼层
配置环境问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 04:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表