若运行以下程序时,从键盘输入 ADesci tor<CR>(<CR> 表示回车),则程序的运行结果是 #include<stdio.h> void main() char C; int v0=0.v1=0.T2=0: do I switch (c-getchar)) { case "a': case 'A': case e": case 'E: case "': case T': case 'O'; case 'O': case ui': case'(: vl+=1: default: vO+=1: v2+=1: } while (c! 'n'): printf("v0=%d,v1=%d,v2-%din",vO,v1,v2); A. vO-7.v1=4,12-7 B. v0-8,v1=4,v2-8 YO-ILv-A,v2-11 D.v0=12,v1=4.v2=12
时间: 2024-04-17 10:24:15 浏览: 122
微信小程序中用WebStorm使用LESS
根据给出的代码,程序运行时会接收字符输入,并根据输入的字符执行同的操作。根据输入的字符不同,v0、v1、v2 的值会发生变化。以下是对程序的解析:
1. 根据代码,变量 C 应该是 char 类型,但是声明语句 `char C;` 缺少分号,应该改为 `char C;`。
2. 变量声明语句 `int v0=0.v1=0.T2=0:` 是错误的,应该使用逗号来分隔不同的变量声明,正确的写法应该是 `int v0=0, v1=0, v2=0;`。
3. `do` 和 `I` 是无效的语句,应该删除。
4. `switch` 语句中的 `c-getchar` 应该改为 `c-getchar()`,表示获取一个字符输入。
5. `case "': case T':` 中的双引号应该是单引号,即改为 `case ': case T':`。
6. `case ui': case'(: vl+=1:` 中的 `ui` 应该是 `u`,即改为 `case 'u': case '(': v1+=1;`。
7. `default: vO+=1:` 中的 `vO` 应该是 `v0`,即改为 `default: v0+=1;`。
综上所述,修正后的代码如下:
```c
#include<stdio.h>
void main()
{
char c;
int v0=0, v1=0, v2=0;
do
{
c = getchar();
switch (c)
{
case 'a': case 'A':
case 'e': case 'E':
case 'i': case '(':
v1 += 1;
break;
case 'o': case 'O':
v2 += 1;
break;
default:
v0 += 1;
break;
}
} while (c != 'n');
printf("v0=%d, v1=%d, v2=%d\n", v0, v1, v2);
}
```
根据修正后的代码,如果从键盘输入 ADesci tor<CR>,则程序的运行结果是 v0=7, v1=4, v2=12。因此,正确答案应该是 D. v0=7, v1=4, v2=12。
阅读全文