Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在最后一个索引处失败的结构数组 #包括 #包括 #包括 结构学生 { int-id; 字符名[30]; 浮动百分比; }; int main() { int i; 结构学生记录[2]; //第一名学生记录 记录[0]。id=1; strcpy(记录[0]。名称,“Raju”); 记录[0]。百分比=86.5; //第二名学生记录 记录[1]。id=2; strcpy(记录[1]。名称,“Surendren”); 记录[1]。百分比=90.5; //第三名学生记录 记录[2]。id=3; //strcpy(记录[2]。名称,“Thiyagu”);//-->此行中的错误 //记录[2]。百分比=81.5;//-->此行中的错误 for(i=0;i)中断了代码。现在这一行和下面的一行都被注释掉了,因为代码没有与它们一起执行。我感觉它与空终止符有关。_C - Fatal编程技术网

在最后一个索引处失败的结构数组 #包括 #包括 #包括 结构学生 { int-id; 字符名[30]; 浮动百分比; }; int main() { int i; 结构学生记录[2]; //第一名学生记录 记录[0]。id=1; strcpy(记录[0]。名称,“Raju”); 记录[0]。百分比=86.5; //第二名学生记录 记录[1]。id=2; strcpy(记录[1]。名称,“Surendren”); 记录[1]。百分比=90.5; //第三名学生记录 记录[2]。id=3; //strcpy(记录[2]。名称,“Thiyagu”);//-->此行中的错误 //记录[2]。百分比=81.5;//-->此行中的错误 for(i=0;i)中断了代码。现在这一行和下面的一行都被注释掉了,因为代码没有与它们一起执行。我感觉它与空终止符有关。

在最后一个索引处失败的结构数组 #包括 #包括 #包括 结构学生 { int-id; 字符名[30]; 浮动百分比; }; int main() { int i; 结构学生记录[2]; //第一名学生记录 记录[0]。id=1; strcpy(记录[0]。名称,“Raju”); 记录[0]。百分比=86.5; //第二名学生记录 记录[1]。id=2; strcpy(记录[1]。名称,“Surendren”); 记录[1]。百分比=90.5; //第三名学生记录 记录[2]。id=3; //strcpy(记录[2]。名称,“Thiyagu”);//-->此行中的错误 //记录[2]。百分比=81.5;//-->此行中的错误 for(i=0;i)中断了代码。现在这一行和下面的一行都被注释掉了,因为代码没有与它们一起执行。我感觉它与空终止符有关。,c,C,struct student record[2];表示数组有2个项。有效索引为0和1 试图访问记录[2]原因。struct student record[2];表示数组有2项。有效索引为0和1 试图访问记录[2]原因。您正在将三个项目放入一个包含两个项目(即0、1、2)的数组中。计算机开始计数为零就像Ed所说的,没有记录[2]。我知道它们从0开始。数组大小为记录[2],这意味着它有0、1、2!struct student record[2]您知道这会创建大小为2的数组,不是吗?它的容量是2个结

struct student record[2];
表示数组有
2个
项。有效索引为
0
1


试图访问
记录[2]
原因。

struct student record[2];
表示数组有
2
项。有效索引为
0
1


试图访问
记录[2]
原因。

您正在将三个项目放入一个包含两个项目(即0、1、2)的数组中。计算机开始计数为零就像Ed所说的,没有记录[2]。我知道它们从0开始。数组大小为记录[2],这意味着它有0、1、2!
struct student record[2]
您知道这会创建大小为2的数组,不是吗?它的容量是2个结构,而不是索引停止在2。@RT89是的,您甚至可以做
记录[200000];
对于未定义的行为,编译的东西并不意味着它的正确性。您将三个项放入两个项(即0、1、2)的数组中。计算机从零开始计数就像Ed说的,没有记录[2]。我知道它们从0开始。数组大小是记录[2],这意味着它有0,1,2!
struct student record[2];
你知道这会创建大小为2的数组,不是吗?它的容量是2个结构,而不是索引停止在2。@RT89是的,你甚至可以做
record[200000];
对于未定义的行为,编译的内容并不意味着它正确。我认为记录[2]可以作为0,1,2工作。我将其更改为3,工作正常。谢谢我认为记录[2]可以作为0,1,2工作。我将其更改为3,工作正常。谢谢
#include <stdio.h>
#include <string.h>
#include <string.h>
struct student
{
     int id;
     char name[30];
     float percentage;
};

int main()
{
     int i;
     struct student record[2];

     // 1st student's record
     record[0].id=1;
     strcpy(record[0].name, "Raju");
     record[0].percentage = 86.5;

     // 2nd student's record
     record[1].id=2;
     strcpy(record[1].name, "Surendren");
     record[1].percentage = 90.5;

     // 3rd student's record
     record[2].id=3;

     //strcpy(record[2].name, "Thiyagu");//--->Bug in this line

     //record[2].percentage = 81.5;//--->Bug in this line


     for(i=0; i<3; i++)
     {
         printf("     Records of STUDENT : %d \n", i+1);
         printf(" Id is: %d \n", record[i].id);
         printf(" Name is: %s \n", record[i].name);
         printf(" Percentage is: %f\n\n",record[i].percentage);
     }
     return 0;
}