我定义了一个数组 char client_data[3][20];然后从配置文件中读取了(配置文件是 ip=127.0.0.1); strtok( fgets(ip, 15, p),"="); q = strtok(NULL, "="); data[0][20] = *q;为什么赋值不了?printf(“%s",data[0]);是乱码定义的数组改成 char data[3][20]了;
为什么这样又可以赋值?
数组的有效下标是从0开始的,str[3][50]已经越界了可以赋值,不代表就是正确的str[3][50]=*p;语法完全正确,但是运行时绝对是错误的当然在你的这段程序里,你的这个赋值语句没有任何意义,因为str[3][50]和s[0]是等价的