void intput(int *sum) { int i; for(i=0;i<N;i++) { printf("\n请分别输入姓名、昵称、电话号码、邮箱、家庭地址(用英文逗号隔开):\n"); scanf("%s %s %d %s %s",&person[i].name,person[i].pet,person[i].phone,person[i].email,person[i].address); } return; }
时间: 2023-06-27 19:01:44 浏览: 71
数值计算方法编程作业(C语言版).doc
这段代码存在一些问题:
1. 函数名应该是`input`而不是`intput`。
2. 函数的参数`sum`没有被使用到,可以删除。
3. 在`scanf`函数中,`phone`应该是一个字符串类型,而不是一个整型。可以改为`%s`,并且在结构体中也应该将`phone`定义为字符数组。
4. 在`scanf`函数中,`&`符号不应该放在`%s`之前,因为字符数组本身就是指针类型,所以只需要写成`scanf("%s %s %s %s %s", person[i].name, person[i].pet, person[i].phone, person[i].email, person[i].address);`即可。
修正后的代码如下:
```
void input() {
int i;
for(i = 0; i < N; i++) {
printf("\n请分别输入姓名、昵称、电话号码、邮箱、家庭地址(用英文逗号隔开):\n");
scanf("%s %s %s %s %s", person[i].name, person[i].pet, person[i].phone, person[i].email, person[i].address);
}
return;
}
```
阅读全文