c语言基础-c语言新手,请问我这个程序有问题吗?

问题描述

c语言新手,请问我这个程序有问题吗?

#include
int main(void)
{
char ch;
printf("Please enter a character.n");
scanf("%c",&ch);
printf("The code for %c is %d.n",ch,ch);
return 0;
}

为什么我输入字符时,按回车,屏幕并没有出现打印的字符串,光标移到下一行的开头?

解决方案

    char ch;
    printf("Please enter a character.n");
    ch = getchar();
    printf("The code for %c is %d.n", ch, ch);
    return 0;

解决方案二:

你的编译环境是什么?我在vs2010和mingw(g++)环境下编译你的程序,运行结果都是正确的(回车后立即输出)。

解决方案三:

我的是安卓编译器c4droid,是不是编译器的问题?

解决方案四:

在这里你必须明确 字符与字符串的区别。 字符,说白了就是最小的整型,一般占一个字节,字符变量名称对应的是整数值。字符串是至少一个字符与‘’
组合得到的,字符串变量对应的是字符串首字符的地址。当你令ch为char型时,ch只能存储一个简单的字符,而非字符串。当你输入了一个长度超过单个
字符的字符串后,s由你的编译器决定scanf()函数到底读取哪个字符,这种结果通常是未定义的。

解决方案五:

输入单个字符程序是没有问题的,如果说有问题的话就是longyu__wlz说的那样了

解决方案六:

你的程序没有问题,试试换个编译器

解决方案七:

把反斜杠前的点去掉试试

时间: 2024-10-28 20:20:37

c语言基础-c语言新手,请问我这个程序有问题吗?的相关文章

c语言基础-C语言基础中的语法问题

问题描述 C语言基础中的语法问题 下面是我写的代码,是一个加密的过程,运行了几遍都有语法错误,请高手在空闲之余能帮我看下是哪里错了,万分感谢 #include<stdio.h>#include<string.h>void main(){void m(*int); char a[50]*p; int l; scanf(""%s""a); l=strlen(a); p=a; m(pl); printf(""%s"&q

语言 基础-C语言,基础理解,请老师,朋友留步。

问题描述 C语言,基础理解,请老师,朋友留步. error C2105: '++' needs l-value 这个错误对于 char p[10]; ++p; 出现这个错误我能理解明白: 但是,对于下面这个:++(x+1);同样出现:error C2105: '++' needs l-value:学生就不明白了,希望有老师或者C语言基础理解好的朋友讲解一下:百度未查到此类情况: 新来的没悬赏: 解决方案 char p[10],p里面存储的就是这个长度为10的数组的第一个元素的地址,并且p上面存储

c语言基础-C语言基础题,统计学生成绩。求解

问题描述 C语言基础题,统计学生成绩.求解 输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数. 成绩等级分为五级,分别为A(90~100).B(80~89).C(70~79).D(60~69)和E(0~59) 解决方案 abcde没有初始化 加上 开头的printf下面加上 a=b=c=d=e=0; 解决方案二: 图片在这里,这样做为什么不对,求大神解答

c语言基础-c语言转换说明符的问题

问题描述 c语言转换说明符的问题 请问c语言中转换说明符%x定义的十六进制整数是有符号还是无符号.为什么? 解决方案 16进制没有正负的区分吧,一般二进制最高位是1的话,就是负数了,否则是正数. 解决方案二: 书是写有符号的十六进制整数,是不是印错了 解决方案三: NNN byte with octal value NNN (1 to 3 digits) xHH byte with hexadecimal value HH (1 to 2 digits) uHHHH Unicode (ISO/I

c语言基础-c语言编程基础的问题

问题描述 c语言编程基础的问题 #include #include #define ME 20 int main(void) { char nane[20]; scanf("%s",name); int ch,nh; ch=0; while(ch<strlen(name)); { nh=ch*ME; printf("%d %d",ch,nh); } return 0; } 哪里出错了,编译器显示scanf函数那里出错了 解决方案 额,,,,你看看数组名,,,,

c语言基础-C语言数字动态显示问题

问题描述 C语言数字动态显示问题 #include#include#include#include#include#includestruct SevenD_point{ int XYZ_CZ_NZ_PU_PU_M;};int check(char *inputchar *container){ int ij; for(i=0j=0;i { if(strcmp(inputcontainer+40*i)==0) { if(j!=6) { printf(""System check tha

c语言基础-c语言格式符的问题.....

问题描述 c语言格式符的问题..... 有人知道这个符号%*.*f是什么意思吗??????????????? 解决方案 %*.*f 表示域宽和精度从后面的变量列表中取值 printf("%m.nf", x);表示后面最多保留n个小数位,前面最多保留m个整数位

c语言基础-C语言作业,明天就要交了,实在是不会写啊

问题描述 C语言作业,明天就要交了,实在是不会写啊 请大家帮我看看,老师的要求实在是太高了,对我们的期望也太高了. 解决方案 这是道数学题啊,应该问数学老师 解决方案二: 无非就是google下.和高数无关.http://download.csdn.net/download/vipgolden/4006725http://wenku.baidu.com/link?url=3dzS2aYw-a_WBY8KQXagmy5W5YcRuKnMy5XpSxCYkNoWTmq1uXgCMr4w1ETDSeu

c语言基础-c语言编程问题

问题描述 c语言编程问题 #include #define ME 20 int main(void) { int ch,nh; ch=1; while(ch<5); { nh=ch*ME; printf("%d,%d",ch,nh); ch++; } return 0; } 这个程序哪里有问题,怎么运行了什么都没有显示? 解决方案 看不到输出是因为你while(ch<5)之后多了一个分号,所以导致程序陷入了死循环 去掉以后就可以了,如果是按F5启动的调试,不想因为程序正常结