C语言 用指针和调用函数的方法编写程序?

知道这个程序哪里出问题了吗,编译运行之后字母的大小写没换过来,大神解答一下!#include<stdio.h>voidToUpper(char*p);intmain(vo... 知道这个程序哪里出问题了吗,编译运行之后字母的大小写没换过来,大神解答一下!

#include <stdio.h>
void ToUpper(char *p);

int main(void)
{
char s[10];
printf("Please input a string:\n");
scanf("%s",&s);
void ToUpper(s);
printf("The new string is %s\n",s);
return 0;
}
void ToUpper(char *p)
{
for(*p=0;*p!='\0';p++)
{
if(*p>='a'&&p<='z')
*p=*p-'a'+'A';
return ;
}
}
展开
 我来答
小黑哎啊
科技发烧友

2020-06-07 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1642
采纳率:74%
帮助的人:351万
展开全部

#include <stdio.h>

void ToUpper(char *p);

int main(void)

{

char s[10];

printf("Please input a string:\n");

scanf("%s",s);//数组名就是数组地址,不用加取址符 

ToUpper(s);//自定义函数,在主函数中被调用时,不用加类型 

printf("The new string is %s\n",s);

return 0;

}

void ToUpper(char *p)

{

for(;*p!='\0';p++)//这里的 *p=0删掉,*p=0等价于*p=NULL;也就是说你把指针p变成空指针了,没有指向了 

{

if(*p>='a'&&*p<='z')//这里少个指针符 

*p=*p-'a'+'A';

}

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式