当前位置: 代码迷 >> C语言 >> [求助]刚学C的菜鸟问题
  详细解决方案

[求助]刚学C的菜鸟问题

热度:145   发布时间:2006-07-17 22:42:08.0
结果还是一样,没有变.
----------------解决方案--------------------------------------------------------
以下是引用穆扬在2006-7-17 22:41:32的发言:

点金成铁


那这个问题还是算了吧~~

----------------解决方案--------------------------------------------------------

提示: 作者被禁止或删除 内容自动屏蔽

2006-07-17 14:47:57
welldone2006

等 级:新手上路
帖 子:148
专家分:0
注 册:2006-1-8
  得分:0 

你的编译器可能不是用一个字节来存贮char类型的数据
你可以用两句语句看看:
scanf("%c",&ch);
printf ("%d\n",ch);
我的机器运行结果是
A
12865
晕,你前面的ch定义是int!!!服了

[此贴子已经被作者于2006-7-18 9:47:41编辑过]


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-17 14:53:48
lian0818

等 级:新手上路
帖 子:8
专家分:0
注 册:2006-7-8
  得分:0 

我的运行结果是跟你一样,我是用WIN-TC的


----------------解决方案--------------------------------------------------------
谢谢两位的指教,这个问题还是算了吧,按老谭的就是了,他的程序比较好,我的问题只是我的好奇心罢了,实际上很少会像我这样做~~
----------------解决方案--------------------------------------------------------

不就是大写变小写,小写变大写吗?

你还是多看看书吧. ..

加一句判断语句.
if (ch>='a'&&ch<='z'){ch=ch-32;}
else if(ch>='A'&&ch<='Z'){ch=ch+32;}

[此贴子已经被作者于2006-7-18 5:59:55编辑过]


----------------解决方案--------------------------------------------------------

完整句型:

#include "stdio.h"

main()
{
char ch;
ch=getcher();
printf("输入字符:',ch);
if (ch>='a'&&ch<='z'){
ch=ch-32;
else if(ch>='A'&&ch<='Z'){ch=ch+32;}
printf("输出字符:",ch);}

getch();
return(0);

}
----------------解决方案--------------------------------------------------------
以下是引用lian0818在2006-7-17 22:05:55的发言:

我是刚从老谭那本书学C的,有一个问题搞不懂,希望大家能帮一下!(第一次发帖,别见怪啊!!)
书里的程序是这样的,是输入一个字符,大写字母的话就变为小写,小写字母不变.
main()
(char ch;
scanf("%c",&ch);
(ch>='A'&&ch<='Z')?(ch+32):ch
printf("%c",ch);
}

但是我用这种方法不行啊!大写字母的话不能变为小写!希望大家指出错在哪里了!
main()
{int ch;
scanf("%c",&ch);
ch=(ch>='65'&&ch<='90')?(ch+32):ch;
printf("%c",ch);
}

main()
{char ch;
scanf("%c",&ch);
ch=(ch>=65&&ch<=90)?(ch+32):ch;
printf("%c",ch);
}


----------------解决方案--------------------------------------------------------
  相关解决方案