请帮我解答几道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\n",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\n",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!\n");exit(0);} while____ {fgets(fp);num++;} printf("num=%d\n",num); fclose(fp); } 答案是:(feof(fp)==0)或(feof(fp)=='\n')或(feof(fp)==NULL)或(!feof(fp)) feof是什么意思,如何用, exit(0)是什么意思,exit如何用.
1.因为Z的值是需要改变,所以使用指针传递值 2.函数完了之后,它对应的变量应该被消除了 3.当Y对应的值为0,也就是字符串最后一个字节时,while结束,两个地址的差值就是长度 4.z.c可以通过联合体对应的值得到 5.指针变量怎么可能指向两个东西? 6.feof(FILE *)返回非0值,如果当前文件指针对应的是文件末端时
5,首先说aa是指针变量是没有错的,aa指向含有两个元素的一维数组也是没有错的,错就错在这个一维数组不是字符型的,而是指针型的。
前面几道,你在好好领悟一下指针。 feof是文件结束:end of file 。 exit:程序退出。
答:1. 数学不等式 和b2-4ac≥0对应的C表达式分别为 x*x+y*y!=z*z 和 b*b-4*a*c>=0 2.将二进制数1011010对应的八进制数...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>