返回信息流scanf的格式说明部分是可以省略的么,省略代表什么
#include <stdio.h>
typedef char VertexType;
typedef int EdgeType;
#define MAXVEX 100
typedef struct EdgeNode //边表节点
{
int adjvex;
EdgeType weight;
struct EdgeNode *next;
}EdgeNode;
typedef struct VertexNode //顶点表节点
{
VertexType data;
EdgeNode *firstedge;
}VertexNode,AdjList[MAXVEX];
typedef struct
{
AdjList adjlist;
int numVertexes, numEdges;
}GraphAdjList;
//建立图的邻接表结构
void CreateGraph(GraphAdjList *G)
{
int i, j, k;
EdgeNode *e;
printf("输入顶点数和边数");
scanf("%d,%d", &G->numVertexes, &G->numEdges);
for (i = 0; i < G->numVertexes; i++)
{
scanf(&G->adjlist[i].data);//为什么没有格式控制符%d?
G->adjlist[i].firstedge = NULL;
}
}
为什么上面的这个可以不用%d呢?
这是一条镜像帖。来源:北邮人论坛 / cpp / #89301同步于 2015/10/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
scanf问题
BAODAZHI
2015/10/30镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
不可以省略。编译器不报错不意味着程序是正确的。这也是C语言的不好的地方之一:出了错,不是报错,而是“任何事情都可能发生,从什么都不发生到机器冒烟都有可能”。
不是很懂。。。求详细说明,入参要求是什么?
【 在 FromMars (T_0) 的大作中提到: 】
: 因为scanf是不定参数的函数啊,只要满足了他的入参要求,为什么不可以通过?
通过『我邮2.0』发布