【发布时间】:2021-01-23 08:09:24
【问题描述】:
我想问你们,这里我的代码无法检查我的值是否存在于结构中,我已经输入了值,但是没有人进入 if else 条件,有人可以帮助我吗?
#include <stdio.h>
int main(){
int a,i;
struct data {
char nim[10];
};
struct data batas[100];
printf("TEST1 : "); scanf("%[^\n]s", batas[0].nim);
printf("TEST2 : "); scanf(" %[^\n]s", batas[1].nim);
printf("TEST3 : "); scanf(" %[^\n]s", batas[3].nim);
printf("TEST : "); scanf(" %[^\n]s", batas[a].nim);
for(i=0; i<a; i++){
if (batas[a].nim == batas[i].nim) {
printf("Value exist");
} else {
printf("Value doesn't exist");
}
}
return 0;
}
【问题讨论】:
-
a 没有在任何地方设置
-
您的变量
a未初始化。默认可以设置为0,这样for循环就永远不会执行。 -
"我已经输入了值" --> 使用了哪些值?
-
scanf("%[^\n]s"-->scanf(" %9[^\n]"避免缓冲区溢出。 -
@chux-ReinstateMonica 我输入“rudy tri saputra”作为值
标签: arrays c validation struct