C语言 为什么不能用scanf向结构体中赋初值

2025-05-10 23:48:10
推荐回答(1个)
回答1:

scanf("%s%s%lf%lf%lf",c[i].a,c[i].b,&c[i].one,&c[i].two,&c[i].three);
你这句有问题,比如这个c[i].one,这个相当于一个变量,你可以给它赋值,而&c[i].one是变量的地址,你怎么能修改地址呢。很明显会segmentfault呀