标题:请问我第一个函数如何实现呢?
只看楼主
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
结帖率:100%
已结贴  问题点数:20 回复次数:3 
请问我第一个函数如何实现呢?
#include<stdio.h>
int shuju()
{
    int n[200];
    int i = 0;
    while(  (scanf("%d", n[i])) == 1){  // 编译器报错
            i++;
            }
    return n;
}
int main()
{
    int a = 0, b, i;
    int m[200] = { 0 }
    printf("请输入数据\n");
    m = shuju();  // 编译器报错
    while(m[i] =! 0){
               a++;
               }
    paixu(m, a);
    shuchu(m);
    search(m);
    system("pause");
    return 0;
}
整个程序就是想先把数据读进来然后进行排序再输出,再实现查询的功能。可是我第一个函数就报错了,是语法错误吗 ? scanf 的返回值不能这样表示吗?求高人指点
搜索更多相关主题的帖子: 查询 system return search include 
2012-10-21 09:40
lchpersonal
Rank: 2
等 级:论坛游民
威 望:1
帖 子:34
专家分:81
注 册:2012-7-27
得分:10 
#include<stdio.h>
int shuju()
{
    int n[200];
    int i = 0;
    while(  (scanf("%d", n[i])) == 1){  // 编译器报错  //改成while(scanf_s(“%d”,&n[i])){i++;}推荐用scanf_s() ,scanf函数不安全,但应该也是可以的,可能是你书写有问题。                                                        
        i++;
            }
    return n;  //返回错误,不应该是数组名,而应是个整形,因为你的函数返回类型是int
}
int main()
{
    int a = 0, b, i;
    int m[200] = { 0 }
    printf("请输入数据\n");
    m = shuju();  // 编译器报错   //函数shuju() 你定义的返回类型是int,怎么可以把int 赋值给 m呢?? m可是一个数组啊??
    while(m[i] =! 0){
               a++;
               }
    paixu(m, a);
    shuchu(m);
    search(m);
    system("pause");
    return 0;
}

重剑无锋,大巧不工
2012-10-21 10:18
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
得分:0 
回复 2楼 lchpersonal
scanf_s 好像只能在visual studio 中用 ,另外如果不用int 返回 ,那该用什么类型返回数组呢?
2012-10-21 17:45
lchpersonal
Rank: 2
等 级:论坛游民
威 望:1
帖 子:34
专家分:81
注 册:2012-7-27
得分:10 
以下是引用qiankai在2012-10-21 17:45:46的发言:

scanf_s 好像只能在visual studio 中用 ,另外如果不用int 返回 ,那该用什么类型返回数组呢?
你想返回数组的话,就返回数组指针!

重剑无锋,大巧不工
2012-10-22 19:11



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




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

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