今天看c primer plus,看到这样一个程序
// vowels.c -- uses multiple labels
#include
int main(void)
{
char ch;
int a_ct, e_ct, i_ct, o_ct, u_ct;
a_ct = e_ct = i_ct = o_ct = u_ct = 0;
printf("Enter some text; enter # to quit.\n");
while ((ch = getchar()) != '#')
{
switch (ch)
{
case 'a' :
case 'A' : a_ct++;
break;
case 'e' :
case 'E' : e_ct++;
break;
case 'i' :
case 'I' : i_ct++;
break;
case 'o' :
case 'O' : o_ct++;
break;
case 'u' :
case 'U' : u_ct++;
break;
default : break;
} // end of switch
} // while loop end
printf("number of vowels: A E I O U\n");
printf(" %4d %4d %4d %4d %4d\n",
a_ct, e_ct, i_ct, o_ct, u_ct);
return 0;
}
我照着这个输入进visual studio2015community,无法运行,提示我把所有case中的第二个标签的(:)全改成(;)
也就是把
switch (ch)
{
case 'a' :
case 'A' : a_ct++;
break;
case 'e' :
case 'E' : e_ct++;
break;
case 'i' :
case 'I' : i_ct++;
break;
case 'o' :
case 'O' : o_ct++;
break;
case 'u' :
case 'U' : u_ct++;
改成
switch (ch)
{
case'a':
'A'; a_ct++;
break;
case'e':
'E'; e_ct++;
break;
case'i':
'I'; i_ct++;
break;
case'o':
'O'; o_ct++;
break;
case'u':
'U'; u_ct++;
break;
改了之后就可以完美编译调试,
我找到书上的源代码(也就是这个问题最上面那段代码),编译完美通过了,但是调试就出现这个
难道是书上印错了吗,还是visual studio的问题?