[求助]本人初学者,遇到一点小问题
#include <stdio.h>main()
{
char ch,cup;
printf(" 字母转换\n\n");
printf("输入字母: ");
ch=getchar();
cup=(char)((ch>'Z')?ch-('a'-'A'):ch);
cup=(char)((ch<'z')?ch-('A'-'a'):ch);
printf("转换成功: %c\n",cup);
}
这个程序里面的cup是什么意思?
还有C语言的 %d,%c..这些又是什么意思?谢谢..!
----------------解决方案--------------------------------------------------------
char ch,cup; 这里cup是一个字符变量
%d 代表类型为数字 %c 为字符
----------------解决方案--------------------------------------------------------
char 是字符型数据类型
char ch,cup;就是在内存中申请了两个char型的变量,变量名是ch,cup 名占一个字节
%d,%c一般是指在printf和scanf函数中对型整(int),字符型输出输入格式的控制
你现在这样理解就是了
----------------解决方案--------------------------------------------------------
恩``
1楼的,说的很对耳``
----------------解决方案--------------------------------------------------------
多谢..我明白了!
----------------解决方案--------------------------------------------------------
cup 是程序之中定义的一个字符变量,用来存储后面表达式的值。
%d %c都是格式说明符,用来向函数说明后面的数据要以什么形式输出。
当调用printf函数时遇到%d 其就向printf说明后面有数据要以整数的形式输出,
printf函数然后到后面找到那个变量,取出它所存放的值并以整数的形式输出。
%c负号作用及处理方式类同。
----------------解决方案--------------------------------------------------------
cup=(char)((ch>'Z')?ch-('a'-'A'):ch); // 那这一句怎么解释,哪位详细解释点?
----------------解决方案--------------------------------------------------------
头痛的代码哦
----------------解决方案--------------------------------------------------------
"ch>'z'"用于比较ch是否大于字母'z',ch-('a'-'A')来将小写字母转换成大写字母,在赋值给cup
----------------解决方案--------------------------------------------------------