标题:在另一个函数调用字符串调不出来?求助啊~~~~~~
只看楼主
思罗琪曼娜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-5-17
结帖率:100%
已结贴  问题点数:20 回复次数:3 
在另一个函数调用字符串调不出来?求助啊~~~~~~
#include<stdio.h>
#include<string.h>
void puttt(char a[]);
void main()
{
    char hao[7];
    gets(hao);
    puttt(hao);
}
void puttt(char a[])
{ printf("职工号%s姓名",a);}

这样子可以调出hao[7]表示的东西,下面这个大的程序怎么老调不成功,都是空白(重点看涂红的部分),我想可能是小错误,不过我发现不出来啊(捉狂)~~~~~求助
#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 10
char Name[N][27];
void input(char a[][27]);
void rank(char a[][27]);
void find(char str[]);

int main()
{
    char hao[7],c;
    input(Name);
    rank(Name);
    do
    {
        printf("菜单:0.退出程序;1.查找职工姓名:\n请选择:");
        c=getchar();
        if(c=='1')
        {
            printf("\n请输入要查找的职工号:");
            gets(hao);
            printf("\n");
            find(hao);

        }
    }
    while(c!='0');
    return 0;
}

void input(char a[][27])
{
    int i;
    printf("请分别输入10个职工的职工号和姓名(例:201223zhengyidan):\n");
    for(i=0;i<N;i++)
        gets(a[i]);
    printf("\n");
}

void rank(char a[][27])
{
    int i,j;
    char string[27];
    printf("由小到大排序为:\n");
    for(j=0;j<N-1;j++)
        for(i=0;i<N-1-j;i++)
           if(strcmp(a[i],a[i+1])>0)
           {
            strcpy(string,a[i]);
            strcpy(a[i],a[i+1]);
            strcpy(a[i+1],string);
           }
    for(i=0;i<N;i++)
        puts(a[i]);
}

void find (char str[])
{
    int j,n,i;
    printf("职工号为%s的职工姓名为:",str);   //在这里的%s出不来

    if(strcmp(str,Name[9])==0)
        for(j=6;j!='\0';j++)
            printf("%c",Name[9][j]);
    else
    {
        for(j=4,n=1;strcmp(str,Name[i])!=0&&n>=0;n--)
        {
            if(strcmp(str,Name[i])>0)
                i=i+pow(2,n);
            else i=i-pow(2,n);
        }
        if(strcmp(str,Name[i])==0)
        {
            for(j=6;j!='\0';j++)
                printf("%c",Name[i][j]);
            printf("\n");
        }
        else printf("sorry,此职工号无效\n");
    }
}


[ 本帖最后由 思罗琪曼娜 于 2013-5-17 20:44 编辑 ]
搜索更多相关主题的帖子: void 函数 include 字符串 
2013-05-17 20:35
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
得分:20 
你定义的str是一个数组!而你没有给它赋值!当然不能输出啦!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-17 21:14
思罗琪曼娜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-5-17
得分:0 
在主函数里通过输入给它赋值,不可以吗?我给它赋了hao值的
2013-05-18 12:01
思罗琪曼娜
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-5-17
得分:0 
明白了,加个gets(str);就好了。谢谢~~~~~~~~
2013-05-18 13:19



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




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

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