请问scanf("%ld,%f",&p1->num,&p1->score);为什么会出现'scanf' : undeclared identifier

//创建的是一个以学生学号和成绩作为数据的链表。在此处只设立两个节点。
struct Student
{
 long num;
 float score;
 struct Student *next;
}*p1,*p2;
struct Student *creat()
{
 struct Student *head;
 int n=0;
 scanf("%ld,%f",&p1->num,&p1->score);
 head=0;
 while(p1->num!=0)
 {
  n=n+1;
  if(n==1)
   head=p1;
  else
   p2->next=p1;
  p1=p2;
  scanf("%ld,%f",&p1->num,&p1->score);
 }
 p2->next=0;
 return(head);

}

问题是:\Program Files\Microsoft Visual Studio\MyProjects\zxc\123.cpp(12) : error C2065: 'scanf' : undeclared identifier

紫林间
浏览 4481回答 3
3回答

SS_S

scanf定义在头文件stdio.h里,所以开头一定要声明头文件#include <stdio.h>,才可以使用它。

badbomb

加头文件没?#include <stdio.h>

kkkbbb

指针传入参数本来就是传入指针的地址,应该就不用加&符号了
打开App,查看更多内容
随时随地看视频慕课网APP