C语言用指针将小写字母变为大写字母

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:28:36
用指针法编写函数,把一个字符串中的所以小写字母变为大写字母,利用该函数编程,输入2个字符串,把2个字符串中的所有小写字母变为大写字母,输出2个字符串。我下面的代码输出的还是原字符串 没有变为大写,请大家帮我看看是怎么回事,谢谢。
#include "stdio.h"
void show (char *p)
{
char c[50] ;
p=c;
for (p=c;*p!='\0';p++)
if (*p>='a' && *p<='z')
*p=*p-32;
}
main ( )
{
char x[50],y[50],*a;
gets(x);
gets(y);
a=x;
show(x);
a=y;
show(y);
printf("%s\n%s\n",x,y);
}

#include "stdio.h"
void show (char c[50]) //注意这
{
char *p ;//这
p=c;
for (p=c;*p!='\0';p++)
if (*p>='a' && *p<='z')
*p=*p-32;
}

main ( )
{
char x[50],y[50];
gets(x);
gets(y); //去掉 a=x,a=y,这两语句不起作用的
show(x);
show(y);
printf("%s\n%s\n",x,y);
}

#include "stdio.h"
void show (char *p)
{
//char c[50] ; //这里没有初始化
//p=c;
for (;*p!='\0';p++) //这里可以直接计算
if (*p>='a' && *p<='z')
*p=*p-32;
}
main ( )
{
char x[50],y[50],*a;
gets(x);
gets(y);
a=x;
show(x);
a=y;
show(y);
printf("%s\n%s\n",x,y);
}