Chinaunix

标题: 有关C的问题,麻烦帮忙看段代码。。谢谢哈~ [打印本页]

作者: cristin871125    时间: 2009-05-28 06:29
标题: 有关C的问题,麻烦帮忙看段代码。。谢谢哈~
这个题目是,用数组计算帽子的尺寸,只需输入帽子的周长,然后显示帽子的尺寸

(谢谢大家啦~这个问题已经解决啦。。。)


#include "stdio.h"
typedef   unsigned   char   bool   
  #define   true   1   
    #define   false   0  
main()   //在这里出现的问题。。说明语法错误。。请教各位高手要如何修改
{
    char size[3][12] = {
            {'6','6','6','6','7','7','7','7','7','7','7','7'},
            {'1','5','3','7',' ','1','1','3','1','5','3','7'},
            {'2','8','4','8',' ','8','4','8','2','8','4','8'}
    };
    int headsize[12] = {164,166,169,172,178,181,184,188,191,194,197};
    float cranium = 0.0;
    int your_head = 0;
    int i = 0;
    bool hat_found = false;
    printf("\nEnter the circumference of your head above your eyebrows"
            "in inches as a decimal value: ");
    scanf("%f",&cranium);
    your_head = (int)(8.0*cranium);
    for(i=1;i<12;i++)
    {
            if(your_head > headsize[i-1] && your_head <= headsize)
            {
                    hat_found = true;
                    break;
            }
            if(your_head == headsize[0])
            {
                    i = 0;
                    hat_found = true;
            }
            if(hat_found)
            printf("\nyour hat size is %c %c%c%c\n",
                    size[0][1],size[1],(size[1]==' ')? ' ' : '/',size[2]);
            else
            {
                    if(your_head < headsize[0])
                            printf("\nyou are the proverbial pinhead. no hat for you i'm afraid.\n");
                    else
                            printf("\nyou,in technical parlance,are a fathead.");
            }
            return 0;
            }
}

我用的编译器是 Turbo C ...在编写代码的时候。。。主函数只用main()这么写就可以了呢。。


[ 本帖最后由 cristin871125 于 2009-5-28 14:11 编辑 ]
作者: egmkang    时间: 2009-05-28 08:32
编译器一声不吭??
作者: yangsf5    时间: 2009-05-28 09:11
main()   //在这里出现的问题。。说明语法错误。。请教各位高手要如何修改

>>

int main()
作者: daybreakcx    时间: 2009-05-28 09:42
可能是main的返回值类型,没见到编译器返回的信息不确定,下次把这个信息带上,啥都没有好累啊看的
作者: bsdc    时间: 2009-05-28 10:14
warning 还是 error啊
作者: khb_gl    时间: 2009-05-28 10:54
1.typedef   unsigned   char   bool   
缺少个分号.

2.your_head <= headsize
一个整形数跟指针比较,有问题.


3. printf("\nyour hat size is %c %c%c%c\n",
                    size[0][1],size[1],(size[1]==' ')? ' ' : '/',size[2]);
size[1],size[2]都是数组指针,不能用%c输出.一维数组与二维数组没弄明白.
作者: khb_gl    时间: 2009-05-28 10:59
还有,不要单纯说有语法错误.
应该把错误信息贴出来,这样大家就好一起跟你分析一下.
有些很明显的错误一看就知道,就不用大家把你代码再运行一遍.
这样你的问题就可以尽快的得到解决.

呵呵,个人观点.:wink:
作者: fieldstream    时间: 2009-05-28 11:25
  1. typedef   unsigned   char   bool  
复制代码


这句后面加上分号,如下:
  1. typedef   unsigned   char   bool  ;
复制代码


这种错误一下看不出来的话就分段注释一步一步定位就知道了,
作者: cristin871125    时间: 2009-05-28 14:09
标题: 回复 #6 khb_gl 的帖子
谢谢你哈~第一条改正就正确啦。。
后两条是这个的论坛的显示问题。。嘿
作者: cristin871125    时间: 2009-05-28 14:10
标题: 回复 #8 fieldstream 的帖子
谢谢你哈~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2