husuiwen 发表于 2016-8-22 20:23:52

谭浩强第四版9.12例题求解

#include<stdio.h>

void main()
{
        enum Color{red,yellow,green,blue,black};
        enum Color i,j,k,pri;
        int n,loop;
        n = 0;

        for(i = red;i <= black;i++)
        {
                for(j = red;j <= black;j++)
                        if(i != j)
                        {
                                for(k = red;k <= black;k++)
                                {
                                        if((k != i) && (k != j))
                                        {
                                                n = n + 1;
                                                printf("%-4d",n);
                                                for(loop = 1;loop <= 3;loop++)
                                                {
                                                        switch(loop)
                                                        {
                                                        case 1:pri = i;break;
                                                        case 2:pri = j;break;
                                                        case 3:pri = k;break;
                                                        default:break;
                                                        }
                                                        switch(pri)
                                                        {
                                                        case red:printf("%-10s","red");break;
                                                        case yellow:printf("%-10s","yellow");break;
                                                        case green:printf("%-10s","green");break;
                                                        case blue:printf("%-10s","blue");break;
                                                        case black:printf("%-10s","black");break;
                                                        default:break;
                                                        }
                                                }
                                                printf("\n");
                                        }

                                }
                        }
        }
        printf("total:%5d\n",n);
}这是怎么回事,已经跟书上代码一样了。

Krant5 发表于 2016-8-22 23:09:48

i,j k应该不是枚举变量你看你是不是抄错了

husuiwen 发表于 2016-8-23 09:25:55

Krant5 发表于 2016-8-22 23:09
i,j k应该不是枚举变量你看你是不是抄错了

绝对没抄错,是这样。你可以搜索他这例题看下

TimTimTim 发表于 2016-8-23 10:37:03

这本书有的地方写得不太好
最好别这么用
反正C++是不支持的,除非你重载++
据说有的C编译器能支持,我也没试过
也许Turbo C能通过,记得这本书出来的年代Turbo C用得比较多
页: [1]
查看完整版本: 谭浩强第四版9.12例题求解