| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 305 人关注过本帖
标题:不知道哪里错了,数据类型
取消只看楼主 加入收藏
_peak
Rank: 5Rank: 5
来 自:90后
等 级:禁止访问
帖 子:83
专家分:347
注 册:2012-12-12
结帖率:100%
收藏
 问题点数:0 回复次数:0 
不知道哪里错了,数据类型
程序代码:
#include<stdio.h>
main()
{
    int a[26][26][26];//整个for循环就是定义三维数组的值,为0
    int x,y,z,i;
    char c[100];
    int m[100];
    for(x=0;x<26;x++){
        for(y=0;y<26;y++){
            for(z=0;z<26;z++){
                a[x][y][z]=0;
            }
        }
    }
    x=y=z=0;//此处可省略,还是加上吧
    a[25][18][5]=1;//定义搜索的值,zsf的值为1,用于下面的选择语句
    a[0][0][0]=2;
    goto kaishi;//连接到开始语句
    if(0){//如果不用goto语句的话,永远不可能执行本句
    cuowu://错误时执行本条语句
        printf("\n输入错误,请重新输入:\n");
    }
    if(0){
    kaishi://最开始时执行的语句
        printf("请输入查找人姓名的第一个字母:");
    }
    x=y=z=0;//忘了当初为什么加这条语句了
    for(i=0;i<100;i++){//定义输入的长度为100
        c[i]=getchar();
        if(c[i]=='\n')//如果遇到回车时会跳出循环
            break;
        m[i]=(int)c[i];//强制字符转换
        if(m[i]>=9&&m[i]<=0){//如果是数字,则无条件跳转到到显示错误语句上
            goto cuowu;
        }
        if(m[i]>64&&m[i]<91){//小写转化成26个字母对应的数字
            m[i]=m[i]-63;
        }
        else if(m[i]>96&&m[i]<123){//大写转化成26个字母对应的数字
            m[i]=m[i]-97;
        }
        else goto cuowu;//如果都不是,则显示错误
    }
    if(i<=2){//如果输入的长度小于3位,显示错误
        goto cuowu;
    }
    x=m[0],y=m[1],z=m[2];
    switch(a[x][y][z])
    {
    case 1:
            printf("\nXXX:电话:11111111111111111  住址:XXXXXXXXXXXXX\n");
            break;
    case 2:
        printf("2\n");
        break;
    case 0:
            printf("\n无此人数据!\n");
            break;
    }
    m[0]=0,m[1]=0,m[2]=0;
    goto kaishi;
}

原本输入数字是错误的,可是被保留到下一次循环中了,出现好多次信息的执行判断
2012-12-13 09:45
快速回复:不知道哪里错了,数据类型
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048821 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved