所以我试着用c语言为管理员创建一个用户名和密码,在这里的代码中数组inpstring的索引决定了用户名和密码,因为偶数(和0)是用户名,奇数是密码。
#include <stdio.h>
#include <string.h>
void Listofadmins(int index, char inpstring[][50]){
if(index == 0){
strcpy(inpstring[0], "Carl01");
strcpy(inpstring[1], "SVm6u&N591s2");
} else if(index == 1){
strcpy(inpstring[2], "Devoth754");
strcpy(inpstring[3], "eeKS7@8%0@T6");
} else if(index == 2){
strcpy(inpstring[4], "David439");
strcpy(inpstring[5], "l$z7eqV2aD00");
} else if(index == 3){
strcpy(inpstring[6], "Matt208");
strcpy(inpstring[7], "h9Je2#Ri3or$");
}
}
void main()
{
int j, k = 0, y = 1;
char str[100][100];
for(j = 0, k, y; j < 4; j++, k += 2, y += 2){
listofadmins(j, str[10]);
printf("%s\n%s", str[k], str[y]);
}
}
当我试着运行代码时,没有输出,只是空白。我以为listofadmins函数会将inpstring数组中的字符串复制到主程序数组str中。你知道问题出在哪里吗?
2条答案
按热度按时间cyvaqqii1#
一些问题...
1.为此使用2D数组是有问题的。最好创建
struct
1.在
Listofadmins
和strcpy
中创建if/else
梯形图是不必要的复杂操作1.使用固定大小的
char
数组而不是char *
会使事情变得复杂。下面是一些简化的代码:
下面是程序输出:
yfjy0ee72#
我更改了“listofadmins”的调用参数,以匹配“str”的声明,从而将
inpstring[][50]
转换为inpstring[][100]
。在调用函数时,我删除了“str”后面的括号,因此将str[10]
转换为str
。生成的代码如下
输出为:
我可能会建议改变printf以获得更好的可读性。希望我能帮上忙。