我无法在结构数组中键入所有信息

时间:2015-05-13 15:53:55

标签: c arrays struct

当我尝试编译这个小程序时,一切都是正确的,但是当我运行它时,我发现了一些问题。例如,我不能在表的第二个元素中键入“c”变量,依此类推。

#include <stdio.h> 

struct point{
    char c;
    int x,y;
};

int main(void)
{
    int size = 4;
    struct point tp[size];
    for(int i = 0; i < size; i++ )
    {
        printf("entrer le  nom du point no %d: ", i+1);
        tp[i].c = fgetc(stdin);
        printf("x = ");
        scanf("%d", &tp[i].x);
        printf("y = ");
        scanf("%d", &tp[i].y); 
    }
 }

1 个答案:

答案 0 :(得分:0)

这里有很多类似的问题,例如:C scanf() and fgets() problemfgets doesn't work after scanf

您可以将fgets()用于用户输入,并使用sscanf()解析字符串。

或者你可以在每个scanf()之后使用 fgetc(stdin); 来摆脱'\ n'符号。