uoid list(struct library book[],int m) { int i; system("cls"); printf("图书馆图书信息如下:\n"); printf("\t图书编号\t图书名称\t作者\t单价\t出版社\t\t出版时间\t存在状态\t读者姓名\t读者学号\n"); for(i =0;i<m;i++) ? printf("\t%6d\t%12s\t%18s\t%4.2f\t%65\t",book[i].book_num,_____填空__,book[i].author_name,____填空___,book[i]-publisher); printf("\t%4d-%2d-%2d\t%2s\t%6s\t%8d\t\n", book[i]-publish_time, book[i].book_state,book[i].reader_name, book[i].reader_num); } printf( **\n"); printf("\t press any key enter menu......\n"); printf ***¥x\n""); 人 getchar(); getchar(); system("cls"); 找到错误并且改正
时间: 2023-08-02 08:09:56 浏览: 100
void list(struct library book[], int m)
{
int i;
system("cls");
printf("图书馆图书信息如下:\n");
printf("\t图书编号\t图书名称\t作者\t单价\t出版社\t\t出版时间\t存在状态\t读者姓名\t读者学号\n");
for (i = 0; i < m; i++)
{
printf("\t%6d\t%12s\t%18s\t%4.2f\t%65s\t", book[i].book_num, book[i].book_name, book[i].author_name, book[i].book_price, book[i].publisher);
printf("\t%4d-%2d-%2d\t%s\t%s\t%d\n", book[i].publish_time.year, book[i].publish_time.month, book[i].publish_time.day, book[i].book_state, book[i].reader_name, book[i].reader_num);
}
printf("\n\n");
printf("press any key enter menu......\n");
getchar();
getchar();
system("cls");
}
相关问题
include <stdio.h> int main() int x=1: void fun (int a.int b): Funx, ++x) return 0: (int a,int b) uoid fun printf("a-2d,b-zd\n“#)
您提到的代码片段包含了一个简单的 C 语言程序的基本结构。首先,`#include <stdio.h>` 是预处理指令,引入了标准输入输出库(stdio),这使程序能够使用 `printf` 函数进行输出。
```c
int main() {
```
这是程序的主入口点,`main` 函数是每个 C 程序必须包含的。接下来的行定义了一个整数变量 `x` 并赋值为 1。
```c
void fun(int a, int b) {
```
这里声明了一个名为 `fun` 的函数,它接受两个整型参数 `a` 和 `b`,但没有返回类型,所以这是一个无返回值的函数(也称为过程或空类型函数)。
```c
x++; // 此行为 main 函数内的 `x` 增加 1
}
```
函数体内部的这一行是对 `x` 变量进行了自增操作。
```c
return 0;
```
这是 `main` 函数结束时的标准返回值,表示程序正常退出。
```c
(int a, int b) { // 这里的括号多余,应删除
```
这部分是错误的,多余的括号会导致编译错误。正确的函数声明应该是:
```c
void fun(int a, int b);
```
最后的两行用于在调用 `fun` 函数后打印信息:
```c
printf("a=%d, b=%d\n", a, b); // 注意这里的参数传递
}
```
完整修复后的代码如下:
```c
#include <stdio.h>
int main() {
int x = 1;
void fun(int a, int b);
x++; // 自增 x
fun(1, 2); // 调用 fun 函数并传入值
return 0;
}
void fun(int a, int b) {
printf("a=%d, b=%d\n", a, b);
}
```
#include<stdio.h> int i=1;uoid other()static int a=2;static int b;int c=19;a=a+2; i=i+32; C=C+5;printf("-----0THER------\n");printf("i:%d a:%d b:%d c:%d\n",i,a,b,c)b=a; int main() static int a;register int b=-19; int c=日;printf("-----MAIN------\n");printf
("i:%d a:%d b:%d c:%d\n",i,a,b,c);a=3; b=b+2; c=c+5; printf("i:%d a:%d b:%d c:%d\n",i,a,b,c);other();printf("i:%d a:%d b:%d c:%d\n",i,a,b,c);return 0;}
这段代码有一些问题,首先是语法错误。第一行 `#include<stdio.h> ` 应该是 `#include <stdio.h>`,少了一个空格。然后是第二行 `int i=1;uoid other()`,应该是 `void other()`,少了一个字母。接着是 `uoid` 应该是 `void`,也是一个拼写错误。还有 `register` 关键字在 C++11 标准中已经被弃用,不建议使用。
此外,函数 `other()` 中的变量 `C` 是没有定义的,应该改为小写的 `c`。还有 `b=a;` 这句代码没有意义,因为 `a` 的值在 `other()` 函数中已经被修改了。最后,代码中没有 `C`,应该是 `c`。
修正后的代码如下:
```
#include <stdio.h>
static int a = 2;
static int b;
int c = 19;
int i = 1;
void other() {
a = a + 2;
i = i + 32;
c = c + 5;
printf("-----OTHER------\n");
printf("i:%d a:%d b:%d c:%d\n", i, a, b, c);
}
int main() {
static int a;
int b = -19;
int c = 0x65;
printf("-----MAIN------\n");
printf("i:%d a:%d b:%d c:%d\n", i, a, b, c);
a = 3;
b = b + 2;
c = c + 5;
printf("i:%d a:%d b:%d c:%d\n", i, a, b, c);
other();
printf("i:%d a:%d b:%d c:%d\n", i, a, b, c);
return 0;
}
```
阅读全文