C语言怎样才算是入门

来源:百度知道 编辑:UC知道 时间:2024/06/17 15:23:51
今天我有一个程问我老师这个程序是这样的
main()
{
char c1,c2;
c1=gethch()
printf("c1='%c' or %d\n"c1,c1);
c2=c1*1;
printf("c2='%c' or %d\n",c2,c2);
}
于是我就问他这个程序那错啦我要他输出的结果是
a='a' or 97
b='B' or 98
应该怎么改啊于是他就对我说你对C语言还没有入门啊;;
你们看看这个程序;
代表是什么啊我左想右想还是想不通入门怎么样才算了入门啊
知道答案的请加我QQ274445669%%%%%%%%%%答案我不想知不是答案我想知道的是在这个程序中他怎么看得出我还没有入门咧怎么才算是入门给我讲讲听

你的老师嫉妒你那么快入门而已。
错误1:c1=gethch()
错在哪? 函数名称写错了,语句结束也没有分号。
应改为:c1=getch();

错误2:printf("c1='%c' or %d\n"c1,c1);
错在哪?第二个c1前面没有逗号把字符串跟变量分隔开。
应改为:printf("c1='%c' or %d\n",c1,c1);

其余地方均没有错误,能编译通过执行。楼上说的不能加''号和字符不能乘都是不正确的。
在C语言里,双引号内是完全允许适用单引号的。
我们可以通过查看getch()的原型得知它的返回值类型是整形的。C语言会在数值计算时自动进行类型转换,编译上并没有任何问题。不过这种方式并不推荐。

只不过楼主要得到
a='a' or 97
b='b' or 98
的输出结果这端程序还要修改以下地方:

原程序中: c2=c1*1;
应改为: c2=c1+1;

原程序中:
printf("c1=%c or %d\n",c1,c1);
printf("c2=%c or %d\n",c2,c2);
应改为:
printf("%c=%c or %d\n",c1,c1,c1);
printf("%c=%c or %d\n",c2,c2,c2);

综上看来,楼主只是比较马虎,并没有语言理解上的错误。不入门之说纯属无稽之谈,相反楼主在输出字符和ASCII码上的表现对新手来说,可圈可点。

你掌握Hello word就算入门了。
你掌握运算规则和数据类型在机内表示就算初级,
学到函数中级,
灵活掌握指针和数组算高级。
修改后的:

#include&l