C语言字符统计小程序下面两个小程序为什么第一个可以正确执行,第二个却不可以?只是把输入赋值给变量a了,再用a去判断为什么
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/22 15:53:28
C语言字符统计小程序
下面两个小程序为什么第一个可以正确执行,第二个却不可以?只是把输入赋值给变量a了,再用a去判断为什么不对呢?
程序1:可正确执行
#include
main()
{
\x05int n;
\x05n = 0;
\x05
\x05while(getchar() = EOF ){
\x05\x05++n;
\x05printf("%d\n",n);
\x05}
}
程序2:执行错误
#include
main()
{
\x05int a,n;
\x05n = 0;
\x05a = getchar();
\x05while(a = EOF ){
\x05\x05++n;
\x05printf("%d\n",n);
\x05}
}
下面两个小程序为什么第一个可以正确执行,第二个却不可以?只是把输入赋值给变量a了,再用a去判断为什么不对呢?
程序1:可正确执行
#include
main()
{
\x05int n;
\x05n = 0;
\x05
\x05while(getchar() = EOF ){
\x05\x05++n;
\x05printf("%d\n",n);
\x05}
}
程序2:执行错误
#include
main()
{
\x05int a,n;
\x05n = 0;
\x05a = getchar();
\x05while(a = EOF ){
\x05\x05++n;
\x05printf("%d\n",n);
\x05}
}
第二个你只接受了一次字符,即a=getchar(),a里存的是第一个字符,下面的while里的判断条件恒成立,所以不能达到目的,可以在while最后加上a=getchar();
C语言字符统计小程序下面两个小程序为什么第一个可以正确执行,第二个却不可以?只是把输入赋值给变量a了,再用a去判断为什么
用c语言编写一个程序,从键盘上输入两个字符给字符变量a,b,并输出变量a,b的值.
程序运行时任意输入两个数赋值给变量a、b,若a>=b,则c=a+b;a
以下叙述中正确的是( )A C语言程序总是从第一个定义的函数开始执行 B 在C语言程序中,要调用的函数必须
C语言程序题 判断输入的字符类型
1,、清除内存变量姓名第二个字符为A的命令为release all like A* 为什么?哪里体现了是第二个字符?
C程序中的一个变量可以被定义为两个或多个不同的类型.这句话对吗?为什么
c语言:字符变量 如 char c1; c1='a'; 为什么要用单引号,双引号不可以吗?比如c1="a";请详细解释
C语言问题:为什么要用两个for循环,只要第一个怎么不可以?
2道C语言题目1.程序提示用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制
C语言解读 我是新手啊 请指教 下面的程序是把输入英文的每个单词的第一个字母编程大写字母,k是怎么回事
C语言程序分析题1、以下程序输入三个整数值给a、b、c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a、