c语言
#include<stdio.h>void main()
{
char a, b, c;
printf("input character a,b,c\n");
scanf_s("%c %c %c",&a,&b,&c);
printf("%d,%d%,%d\n%c,%c,%c\n", a, b, c, a - 32, b - 32, c - 32);
}
这个输出结果有问题 本帖最后由 李京 于 2021-2-6 17:08 编辑
可以把你的问题说明白吗,
你希望的输出是什么,
最好是弄一个输入输出示例
看代码是没有什么错误的,是不是你的理解哪里错了
你这个代码是在vs上编写的,可以的话把版本也发出来
本帖最后由 jackz007 于 2021-2-6 17:17 编辑
a = a - 32 过于武断,只有输入是小写字母的时候才好使,如果输入是大写字母,那么,大小写转换得 a = a + 32
#include <stdio.h>
int main(void)
{
char a , b , c ;
printf("input character a,b,c\n") ;
s_scanf("%c%c%c" , & a , & b , & c) ;
printf("%d,%d%,%d\n%c,%c,%c\n", a , b , c , a , b , c) ;
if (a >= 'a' && a <= 'z') a -= 32 ;
else if(a >= 'A' && a <= 'Z') a += 32 ;
if (b >= 'a' && a <= 'z') b -= 32 ;
else if(b >= 'A' && b <= 'Z') b += 32 ;
if (c >= 'a' && a <= 'z') c -= 32 ;
else if(c >= 'A' && c <= 'Z') c += 32 ;
printf("%d,%d%,%d\n%c,%c,%c\n", a , b , c , a , b , c) ;
} 这个程序只有输入小写字母才可以啊 函数 scanf_s() 用法不正确,没有传递足够的参数,正确的程序如下:
#include<stdio.h>
void main()
{
char a, b, c;
printf("input character a,b,c\n");
scanf_s("%c %c %c", &a, sizeof(a), &b, sizeof(b),&c, sizeof(c));
printf("%d,%d%,%d\n%c,%c,%c\n", a, b, c, a - 32, b - 32, c - 32);
} 按这个程序来看只要实现小写变大写和查看acsll,所以我就只是增加了一点容错性,让输入大写字母的话,也不会发生错误变化,就原样输出
#include<stdio.h>
void main()
{
char a, b, c;
printf("input character a,b,c\n");
scanf_s("%c %c %c", &a, sizeof(a), &b, sizeof(b),&c, sizeof(c));
printf("%d,%d%,%d\n%c,%c,%c\n", a, b, c, a & 0xdf , b & 0xdf, c & 0xdf);
} 李京 发表于 2021-2-6 17:06
可以把你的问题说明白吗,
你希望的输出是什么,
最好是弄一个输入输出示例
刚刚用这个没找到截图图片
希望小写字母转为大写字母vs2013 张邦焱 发表于 2021-2-8 00:57
刚刚用这个没找到截图图片
希望小写字母转为大写字母vs2013
输出是 xxx.exe已停止工作 本帖最后由 李京 于 2021-2-8 10:01 编辑
张邦焱 发表于 2021-2-8 01:19
输出是 xxx.exe已停止工作
建议看看这一篇
ASCII字符表
https://fishc.com.cn/thread-67427-1-1.html
(出处: 鱼C论坛)
然后在加上if else 比较好,
#include<stdio.h>
int main()//这里的话,用int main()比较好void 比较老的写法了
{
char a, b, c;
printf("input character a,b,c\n");
scanf("%c %c %c", &a, &b, &c);
printf("%d,%d%,%d\n", a, b, c);
if (a <= 'z' && a >= 'a')//判断a输入的是不是小写字母
{
a = a - 32;
}
if (b <= 'z' && b >= 'a')//判断b输入的是不是小写字母
{
b = b - 32;
}
if (c <= 'z' && c >= 'a')//判断c输入的是不是小写字母
{
c = c - 32;
}
printf("%c %c %c\n", a, b, c);
return 0;
}
尽量不要用vs 提供的函数,就用c标准的库函数 有一些编译错误,是可以不用管的,至于怎么禁止,看一下这个视频
https://www.bilibili.com/video/BV1oi4y1g7CF?p=3
也可以上网百度,搜vs怎么禁止不安全函数的警告
页:
[1]