gpt4 book ai didi

c - 尝试读取结构元素时的 if 情况

转载 作者:行者123 更新时间:2023-11-30 18:30:46 27 4
gpt4 key购买 nike

我遇到了这个问题。每当我运行程序并在需要时键入字母 m 时,我的 if 语句都不会识别它。有人知道为什么吗?我已经这样做了一个小时,但没有结果。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct firma{
char nume[20];
char prenume[20];
char studii[5];
int absolvire;
char localitate[20];
char facultate[20];

};

void citire(struct firma *angajati, int n){
int i;

for(i=0;i<n;i++){
printf("Angajatul nr.%d\n", i+1);
printf("Nume: "); fflush(stdin); gets((angajati+i)->nume);
printf("Prenume: "); fflush(stdin); gets((angajati+i)->prenume);
printf("Studii: "); fflush(stdin); scanf("%c", &(angajati+i)->studii);

if(((angajati+i)->studii)=='m'){
printf("Anul absolvirii liceului: ");
scanf("%d", &(angajati+i)->absolvire);
printf("Localitatea: ");
fflush(stdin);
gets((angajati+i)->localitate);
}
if(((angajati+i)->studii)=='s'){
printf("Anul absolvirii facultatii: ");
scanf("%d", &(angajati+i)->absolvire);
printf("Localitatea: ");
fflush(stdin);
gets((angajati+i)->localitate);
printf("Facultatea absolvita: ");
fflush(stdin);
gets((angajati+i)->facultate);
}
}
}

int main()
{
struct firma angajati[20];
int n;

printf("Introduceti numarul de angajati: ");
scanf("%d", &n);

citire(angajati, n);

return 0;
}

最佳答案

firma->stuii 是一个字符数组,您正在将字符“m”与地址进行比较。

请改用(angajati + i)->stuii[0]

关于c - 尝试读取结构元素时的 if 情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29135095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com