C-这个代码有点错误啊,我看别的面试题敲得运行出错

发布于 2017-03-09 08:33:40 字数 488 浏览 1258 评论 3

#include "stdio.h"
#include "conio.h"
void uppers(char* s,char *us)
{
for(;*s!='';s++,us++)
{
if(*s>='a' && *s<='z')
*us=*s-32;
else
*us=*s;
}
*us='';
}
int main(){
char *s,*us=NULL;
char ss[20];
printf("please input a string :n");
scanf("%s",ss);
s=ss;
uppers(s,us);
printf("the result is %s",us);
getch();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2017-07-09 01:33:46

uppers(s,us);
us没有分配内存,所以会出错。你需要给uS分配内存空间,使用malloc函数

晚风撩人 2017-06-05 15:22:50

#include "stdio.h"
#include "conio.h"
void uppers(char* s,char *us)
{
for(;*s!='';s++,us++)
{
if(*s>='a' && *s<='z')
*us=*s-32;
else
*us=*s;
}
*us='';
}
int main(){
char *s,*us=NULL;
char ss[20];
char qq[20];
us=qq;
printf("please input a string :n");
scanf("%s",ss);
s=ss;
uppers(s++,us);
printf("the result is %s",us);
getch();
}

这里us指针没有付给一定的内存,不能存数,所以应该给us初始化。

瑾兮 2017-04-12 15:23:14

us是野指针, 没有分配内存

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文