标题:前辈们帮看看 哪里错啦?
只看楼主
黑暗烧纸人
Rank: 4
来 自:甘肃
等 级:业余侠客
帖 子:113
专家分:239
注 册:2012-12-22
得分:0 
我错了,我真的错了!他就少了个头文件<stdio.h>我闭关思过去了。

老衲闻到一股蛋蛋的忧伤......
2013-01-14 19:40
黑暗烧纸人
Rank: 4
来 自:甘肃
等 级:业余侠客
帖 子:113
专家分:239
注 册:2012-12-22
得分:0 
我错了,我真的错了他好像就少了个头文件,我闭关思过去了。

老衲闻到一股蛋蛋的忧伤......
2013-01-14 19:42
大米稀粥客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:155
注 册:2013-1-8
得分:0 
回复 10楼 神龙赖了
感谢
2013-01-14 19:45
大米稀粥客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:155
注 册:2013-1-8
得分:0 
头文件那好像是我复制的问题
我该怎样输入函数呢
我输入101 Li f s然后回车和
输入101 Li f s 501 然后回车都不行 都显示

Input error! please enter the data of person:
Input error!
No.  name    sex job  class/position
2013-01-14 19:56
大米稀粥客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:155
注 册:2013-1-8
得分:0 
回复 10楼 神龙赖了
这个改了也不行
2013-01-14 19:57
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
以下是引用大米稀粥客在2013-1-14 19:56:47的发言:

头文件那好像是我复制的问题
我该怎样输入函数呢
我输入101 Li f s然后回车和
输入101 Li f s 501 然后回车都不行 都显示

Input error! please enter the data of person:
Input error!
No.  name    sex job  class/position
不能这么输入,空格也是一个字符,会被读入,然后缓冲区就会遗留字符,然后后面的scanf语句就会接收这个字符,自然就全乱套了咯...
 scanf("%d %s %c %c",&person[i].num, person[i].name,&person[i].sex,&person[i].job);

改成这样再用原来的输入试试

I have not failed completely
2013-01-14 20:05
大米稀粥客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:155
注 册:2013-1-8
得分:0 
回复 16楼 神龙赖了
谢谢大哥 是这里有问题
然后我没有改&person[i].name也可以
再问一句 我按你说的输入 到最后为啥是文件停止工作啦 提示 【so.exe停止工作 windows正在检查该问题解决方案】
2013-01-15 09:45
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:0 
楼主啊,昨天我就蛋疼,今天看了还蛋疼。
这都快一天了,你就没好好看看自己的代码?
if(person[i].job=='s')
            printf("%-6d%-10d%-4c%-10s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.clas);
        else
            printf("%-6d%-10d%-4c%-10s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
你看这两段对吗?有几个格式输出,后面参量有几个,格式能对上吗。
scanf("%d%s%c%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
这段连续输入这么多项,不怕缓存有残留啊,不能清理下缓存在输入吗


哪里错?就是这样的小毛病不注意才出大错

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-15 10:27
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:15 
程序代码:
#include<stdio.h>
struct
{
    int num;
    char name[10];
    char sex;
    char job;
    union
    {
        int clas;
        char position[10];
    }category;
}person[2];


int main()
{
    int i;
    for(i=0;i<2;i++)
    {fflush(stdin);
        printf("please enter the data of person:\n");
        scanf("%d",&person[i].num);
        fflush(stdin);
        scanf("%s",person[i].name);
        fflush(stdin);
        scanf("%c",&person[i].sex);
        fflush(stdin);
        scanf("%c",&person[i].job);
        fflush(stdin);

        if(person[i].job=='s')
            scanf("%d",&person[i].category.clas);
        else if(person[i].job=='t')
            scanf("%s",person[i].category.position);
        else
            printf("Input error!");
    }
    printf("\n");
    printf("No.   name    sex job class/position\n");
    for(i=0;i<2;i++)
    {
        if(person[i].job=='s')
            printf("%-6d%-10s%-4c%-9c%-10d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.clas);
        else
            printf("%-6d%-10s%-4c%-9c%-10s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
    }
    return 0;
} 

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-15 10:32
大米稀粥客
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:155
注 册:2013-1-8
得分:0 
回复 19楼 yaobao
不懂缓存残留..
多谢大神指点
2013-01-15 17:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-396550-1-1.html




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

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