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 ;
}
} 展开
#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 ;
}
} 展开
展开全部
#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';
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询