可以帮我详细讲解这题吗?

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:09:15
初学者

#include"stdio.h"
void main()
{int v1=0,v2=0; char ch;
while ((ch=getchar())!='#')
switcha(ch)
{case'a':
case'h':
default;v1++;
case'0':v2++;}
printf("%d,%d\n",v1,v2);}

#include"stdio.h" /*包含头文件*/
void main() /*主函数*/
{int v1=0,v2=0; char ch; /*定义变量。
while ((ch=getchar())!='#') /*从键盘输入一个字符,输入#时结束循环*/
switch (ch) /*swith 选择结构。如果ch=0,v2++;否则v1++,v2++*/
{case'a':
case'h':
default;v1++; /*如果ch=a,h或其他任何不为0的字符,执行本语句,然后接着执行下一语句*/
case'0':v2++; /*如果ch=0,执行本语句*/
}
printf("%d,%d\n",v1,v2); /*输出v1,v2的值*/
}
不知道程序的作用是什么。如果用v1统计a和h的输入次数,用v2统计0的输入次数,程序应改为
#include"stdio.h"
void main()
{int v1=0,v2=0; char ch;
while ((ch=getchar())!='#')
switch (ch)
{case'a':
case'h': v1++; break;
default:break;
case'0':v2++;
}
printf("%d,%d\n",v1,v2);
}
另外,输入程序的时候,分号和冒号不要混了。比较正规的程序是
#include <stdio.h>
int main(void)
{int v1=0,v2=0; char ch;
while ((ch=getchar())!='#') /*如果输入#,结束循环*/
switch (ch