一个小程序不知道哪里错了

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:08:36
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
char ch;
scanf("%c",ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
}
可以输入,但是无法输出!

* Note:Your choice is C IDE */
#include "stdio.h"
int main()
{
char ch;
scanf("%c",&ch);
ch=((ch>='A')&&(ch<='Z'))?(ch+32):ch;
printf("%c\n",ch);
return 0;
}

scanf("%c",ch);
改成scanf("%c",&ch);
scanf必须要加&,否则会出错
其他大小写转化为小写字母没有问题

scanf("%c",ch);不对,格式化输入:
scanf("%c",&ch);

scanf("%c",ch);
改为
scanf("%c",&ch);
字符应该赋值给一个放字符的地址,所以要加&用来表示地址。

必须加 &ch 否则你所输入的数据就不能系统就不能传送给 ch 这个变量

scanf("%c",ch); 错了,应为scanf("%c",&ch)