帮我检查个c语言程序的错误~

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:03:51
#include "stdio.h"
main()
{ int c;
while ( (c=getch())!='\n')
{swith (c-'2')
{case 0 :
case 1 : putchar(c+4);
case 2 :putchar(c+4); bresk;
case 3 : putchar(c+3);
default : putchar(c+2); break;
}
}
printf("\n");
}

这里:
while ( (c=getch())!='\n')

c=getch(),只要赋值成功,就会返回1,不成功就会返回0,无论是0,还是1,都不等于'\n'的,所以是一个肯定会执行的部分

下面就是功能的问题,自己看吧

#include "stdio.h"
main()
{
char c;
while ( (c=getch())!='\n')
{swith (c-'2')
{case 0 : break;
case 1 : putchar(c+4);
case 2 :putchar(c+4); break;
case 3 : putchar(c+3);
default : putchar(c+2); break;
}
}
printf("\n");
}

还不知道你实现什么功能,另外是语法有错还是执行后结果不对?我看你的程序两种都有,如果语法没错的话结果肯定也会有错误。c-'2'得到的是c的asc码减上2的asc码.....自己去分析吧