计算机二级-C语言-程序设计题-190111记录-两种指针赋值的不同,普通输入输出函数和文件输入输出函数的使用

//程序设计题:函数fun的功能是:将两位数的正整数a,b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12时,调用该函数后,c=2514。

//重难点:给指针赋值(第一种是把一个变量的地址赋予指针,第二种是直接给指针内容赋值,这两种赋值方式是有很大区别的,通过下文代码fun()函数中的变更可以看的出来。)通过输出函数输出变量和指针的不同方式。输入函数,整型变量要加取地址符,这里不可以出现指针。文件输入和文件输出函数的使用。

 1 #include <stdio.h>
 2 void NONO();
 3 fun(int a, int b, long *c)
 4 {
 5     int a1, a2;
 6     int b1, b2;
 7     int d;
 8     a1 = a / 10;
 9     a2 = a % 10;
10     b1 = b / 10;
11     b2 = b % 10;
12     *c = a1 + a2 * 100 + b1 * 10 + b2 * 1000;//c传递的形参为指针类型,这里赋值就要用取内容符*,左右类型要相符
13     //d = a1 + a2 * 100 + b1 * 10 + b2 * 1000;//两种方法尽量使用第一种方法
14     //c = &d;
15     printf("%d    %d    %d    %d    %d
", a1, a2, b1, b2, *c);//输出信息函数,整型变量直接写,指针要取内容。
16 }
17 main()
18 {  int a,b; long c;long *d;
19    printf("Input a b:");
20    scanf("%d%d%d", &a, &b, &c);//输入函数,整型变量要加取地址符,这里不可以出现指针
21    d = &a;//指针只可以被赋值,不可以通过输入函数输入。
22    printf("%d
", *d);
23    fun(a, b, &c);//把c当作一个指针传递
24    printf("The result is: %ld
", c);
25    NONO();
26 }
27 void NONO ()
28 {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
29   FILE *rf, *wf ;//定义文件指针。
30   int i, a,b ; long c ;
31   rf = fopen("in.dat", "r") ;//创建一个可以读的文件,然后用指针指向。
32   wf = fopen("out.dat","w") ;
33   for(i = 0 ; i < 10 ; i++) {
34     fscanf(rf, "%d,%d", &a, &b) ;//文件写入函数,在文件中写入要写入的东西。
35     fun(a, b, &c) ;
36     fprintf(wf, "a=%d,b=%d,c=%ld
", a, b, c) ;//文件输出函数,输入到文件中
37   }
38   fclose(rf) ;
39   fclose(wf) ;//关闭文件指针与文件之间的联系。
40 }
原文地址:https://www.cnblogs.com/ming-4/p/10254078.html