假设我有一行
电话 143 189 123
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++;
}
}
最佳答案
在格式说明符前添加一个*
意味着你想从流中读取,但结果应该被丢弃,而不是存储在参数指向的位置。
if(c == 'D'){
scanf("%d %d %d", &A[row].Maths, &A[row].Comp, &A[row].Eng);
row++;
}
else {
scanf("%*d %*d %*d");
}
关于c - 如何扫描除第一行以外的行中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061115/