说我有一排
D 143 189 123
D 123 120 122
F 111 234 221
如何仅扫描前两行中的值而不是字母,还排除第三行的扫描。
我的版本
typedef struct{
int Maths;
int Comp;
int Eng;
}Marks;
Marks A[99]; // Struct
int row = 0;
while(c = getchar()){
if(c == 'D'){
scanf("%d %d %d", A[row].Maths, A[row].Comp, A[row].Eng);
row++;
}
}
答案 0 :(得分:1)
在格式说明符前面添加*
意味着您要从流中读取,但结果应该被丢弃,而不是存储在参数中指向的位置。
if(c == 'D'){
scanf("%d %d %d", &A[row].Maths, &A[row].Comp, &A[row].Eng);
row++;
}
else {
scanf("%*d %*d %*d");
}