請幫我解答幾道C語言的題

請幫我看一下這幾道題,謝謝了
1)下面函式要求用來求出兩個整數之和,並透過形參傳回兩數相加之和值,請填空.
int add(int x,int y;____z)
{____=x+y}
答案是:1空是int* 2空是*z

為什麼不能是 2.z

2)讀程式:
#include <stdio.h>
#include <string.h>
void fun(char *s)
{ char a[10];
strcpy(a,”STRING”);
s=a;
}
main()
{ char *p;
fun (p);
printf(”%s ”,p);
}
上面程式的輸出結果是(D)
A>STRING[][][][] ([]代表空格)
B>STRING
C>STRING[][][]
D>不確定的值

為什麼不選A呢


3)下面函式的功能是(A)
int fun1 (char *x)
{ char *y=x;
while(*y++);
return(y-x-1);
}
A>求字串的長度.
B>比較兩個字串的大小.
C>將字串x複製到字串y.
D>將字串x連線到字串y後面.

為什麼選A呢,他是怎麼求字串的長度了?


4)一直字元0的ASCII碼為十六進位制的30,下面程式的輸出是(B)
main()
{ union{ unsigned char c;
unsigned int i[4];
}z
z.i[0]=0x39;
z.i[1]=0x36;
printf(”%c ”,z.c);
}
A>6 B>9 C>0 D>3

怎麼能知道z.c是什麼呀????


5)設有如下定義: char *aa[2]={”abcd”,”ABCD”};
則以下說法正確的是(C)
B>aa是指標變數,他指向含有兩個陣列元素的字元姓一維陣列.
C>aa陣列的兩個元素分別存放的是含有4個字元的一維字元陣列的首地址.

為什麼B不對呀???


6)下面的程式用來統計檔案中字元的個數,請填空.
#include<stdio.h>
main()
{ FILE *fp;
long num=0;
if((fp=fopen(”fname.dat”,”r”))==NULL)
{printf(’can’t open file! ”);exit(0);}
while____
{fgets(fp);num++;}
printf(”num=%d ”,num);
fclose(fp);
}
答案是:(feof(fp)==0)或(feof(fp)==’ ’)或(feof(fp)==NULL)或(!feof(fp))

feof是什麼意思,如何用,
exit(0)是什麼意思,exit如何用.
2022-08-01 13:29:20
  • 0

  • 24 點閱

  • 0 評論

其他人的答案

Copyright © 2024 https://hiqna.com 中華Hi知識