c语言大小写字母转换
#include<stdio.h>intmain(void){inta,b;scanf("%c",&a);b=su(a,b);printf("%c",b);}intsu(...
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%c",&a);
b=su(a,b);
printf("%c",b);
}
int su(int a,int b)
{
if (a>91) b=a-32;
else b=a+32;
return(b);
} /*有错误吗?为什么无法生效*/
哦 展开
int main(void)
{
int a,b;
scanf("%c",&a);
b=su(a,b);
printf("%c",b);
}
int su(int a,int b)
{
if (a>91) b=a-32;
else b=a+32;
return(b);
} /*有错误吗?为什么无法生效*/
哦 展开
5个回答
展开全部
c1的值从键盘输入,也就是你要转换的大写字母,在ASCII码表中,A-Z的ASCII码值是65-90,a-z的ASCII码值是97-122,而且在ASCII码表中,这些字母的ASCII码值也是按顺序排列的,所以你输入c1的值加上32以后正好是它对应的小写字母的ASCII码值,printf("%c,%d\n",c1,c1);中“c%”输出的是c1的字符型值,也就是你从键盘输入的大写的c1,“d%”输出的是它对应的ASCII值,c2同上。
展开全部
你写的这个函数存在问题。参数a以及函数返回值的类型不对。参数b是无用的也不需要。另外函数在使用前没有声明。
#include <stdio.h>
char su(char);
int main(void)
{
char a;
scanf("%c",&a);
printf("%c",su(a));
}
char su(char a)
{
if(a>='A'&&a<='Z') return a+32;
else if(a>='a'&&a<='z') return a-32;
else return '!'; //输入的不是字母时返回错误
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
char su(char a); //函数原型声明
int main(void)
{
char a,b; //改成char型
a=getchar();
b=su(a);
printf("%c\n",b);
return 0;
}
char su(char a)
{
char b;
if(a>='a' && a<='z')
b=a-32;
else if(a>='A' && a<='Z')
b=a+32;
return b;
}
示例运行结果:
a
A
B
b
追问
第一个return 后面是什么
追答
return 0;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-11-18
展开全部
#include <stdio.h>
int su(int a,int b);//<========
int main(void)
{
int a,b;
scanf("%c",&a);
b=su(a,b);
printf("%c",b);
}
int su(int a,int b)
{
if (a>91) b=a-32;
else b=a+32;
return(b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf("%d",&a);
printf("%c",a);
由于scanf输入%c是不行的,可以考虑getchar函数。
printf("%c",a);
由于scanf输入%c是不行的,可以考虑getchar函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询