gcc跟g++ -std=c99跟-std=c++11

报错:

myshell.c: In function ‘int doBuildin(char**)’:
myshell.c:91:12: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
       path = ".";

 解决方案:这个waring提示我c++11,也就是这里出错了,后来我改成了c99发现还是不行,原来是忘记q前面g++要改成gcc了

 

OK了

C语言中,创建一个简单的成绩管理系统并实现插入学生信息的功能,通常会涉及以下几个步骤。假设我们有一个结构体`StuInfo`用于存储学生的姓名、学号和成绩,文件名`stu.c`,并且你想通过函数处理插入操作。 ```c #include <stdio.h> #include <stdlib.h> typedef struct { int id; char name[50]; float score; } StuInfo; // 插入学生信息函数 void insertStudent(StuInfo* students, int size, int id, char* name, float score) { if (size >= sizeof(students)/sizeof(StuInfo)) { // 检查数组是否已满 printf("数组已满,无法添加更多学生。\n"); return; } students[size].id = id; strncpy(students[size].name, name, sizeof(students[size].name)); // 防止缓冲区溢出 students[size].score = score; printf("学生 %d 的信息已成功插入:\n", id); printf("姓名:%s\n", name); printf("分数:%.2f\n", score); } int main() { const int MAX_STUDENTS = 10; // 最大学生数 StuInfo students[MAX_STUDENTS]; // 学生信息数组 int numStudents = 0; // 当前学生数 // 打开D盘指定文件(这里只是举例,实际应用需要考虑文件I/O) FILE *fp = fopen("D:\\stu.txt", "a+"); // 假设是一个文本文件,用于持久化数据 if (!fp) { perror("无法打开文件"); return 1; } // 插入新学生信息 char inputName[50]; float inputScore; printf("请输入学生信息(格式:ID 姓名 分数),输入'quit'退出:\n"); while (scanf("%d %s %f", &students[numStudents].id, inputName, &inputScore) == 3 && strcmp(inputName, "quit") != 0) { insertStudent(students, numStudents, students[numStudents].id, inputName, inputScore); // 将新数据追加到文件中 fprintf(fp, "%d\t%s\t%f\n", students[numStudents].id, inputName, inputScore); numStudents++; } fclose(fp); // 关闭文件 return 0; } ``` 在这个例子中,程序运行时允许用户输入学生的信息,并将它们保存到内存数组中以及写入到磁盘文件`stu.txt`里。如果文件打开失败或者数组已满,则会有相应的提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值