最后显示结果有这个too few actual parameters,是什么意思啊???他说我错误在+6那一行

voidPraseStuNO(structstudent*stu){charsz[2]={0};strncpy(sz,stu->stuxuehao,2);stu->stu... void PraseStuNO(struct student* stu)
{
char sz[2]={0};
strncpy(sz, stu->stuxuehao, 2);
stu->stuno1 = atoi(sz);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 2, 1);
stu->stuno2 = atoi(sz);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 3, 2);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 5, 1);
stu->stuno3 = atoi(sz);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 6, 2);
stu->stuno4 = atoi(sz);
}
展开
 我来答
306740205
推荐于2017-09-12 · TA获得超过451个赞
知道答主
回答量:114
采纳率:0%
帮助的人:115万
展开全部
好像没什么问题吧。下面是我根据你给的函数,补充完整编译的,可是没提示什么错误。可能是其他地方引起的吧。

too few actual parameters 是说实参太少,可能是你哪个函数调用的时候,参数少了。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct student
{
char stuxuehao[6];
int stuno1;
int stuno2;
int stuno3;
int stuno4;
} ;

void PraseStuNO(student* stu)
{
char sz[2]={0};
strncpy(sz, stu->stuxuehao, 2);
stu->stuno1 = atoi(sz);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 2, 1);
stu->stuno2 = atoi(sz);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 3, 2);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 5, 1);
stu->stuno3 = atoi(sz);

memset(sz,0,2);
strncpy(sz, stu->stuxuehao + 6, 2);
stu->stuno4 = atoi(sz);
}

int main (int argc, char **argv)
{
student* stu;
PraseStuNO(stu);
}
442827397
2012-06-21
知道答主
回答量:66
采纳率:0%
帮助的人:34.4万
展开全部
char sz[2]={0};
有可能是这个初始化的问题
这个到底是数组第三位为0,还是定义为两位的数组,感觉歧义很大
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式