大家好,我是个自学新手。请问我下面这段代码哪里错了?明明和书上的一样啊!

河伯的新娘 2019-12-10 07:05:21
#include<stdio.h> #include<string.h> int main() { char a[30],b[30]; int c; int i=0; while(1) { printf("请选择:0表示小写字母转大写字母,1表示大写字母转小写字母,2表示退出。\n"); scanf("%d",&c); if(c==0) { printf("请输入需要转换的字母。\n"); scanf("%s",&a); strcpy(b,a); strupr(b); printf("转换后的字母为%s\n",b); } else if(c==1) { printf("请输入需要转换的字母。\n"); scanf("%s",&a); strcpy(b,a); strlpr(b); printf("转换后的字母为%s\n",b); } else if(c==2) { break; } } return 0; 运行的时候手机显示: /data/user/0/coding.yu. ccompiler. new/ files/gcc/tmpdir/ccmKpCLm.: In function 'main': default.: ( text+0x58): undefined reference to strupr default.c: ( text+0xa4): undefined reference to strlpr' collect2: error: ld returned 1 exit status
...全文
1177 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2019-12-11
  • 打赏
  • 举报
回复
strlwr和 strupr如果报错,可以试试下面写法

和编译器,以及c标准有关系

int main(void)
{
char str[15] = "Hello";
_strlwr_s(str,6);//第一个参数传一个char类型的指针,可以传一个数组,第二个参数传入strlen(str) + 1
puts(str);

_strupr_s(str, 6);
printf("%s\n",str);
return 0;
}
Mr&Elven 2019-12-11
  • 打赏
  • 举报
回复
手机的编译环境和电脑不一样的。
u010912613 2019-12-11
  • 打赏
  • 举报
回复
strlpr应该是strlwr
「已注销」 2019-12-10
  • 打赏
  • 举报
回复
很清楚的提示信息 strupr and strlpr undefined 这玩意是库函数吗,还是他自己定义的 我没见过,但如果是库函数的话,手机上的编译器和电脑上用的不一样,可能没有这个库函数,如果是他自定义的那就再找找看吧

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧