一共有5个题 马上面试了 想搞懂 很简单的
1. 下面的宏定义存在一些问题,请给出一个更好的实现
#define MIN(a,b) (a<b?a:b)
2. 请说明下列俩条语句的异同
char*p="hello world";
char str[]="hello world";
3. 在上题中
sizeof(p)=?
sizeof(str)=?
*str=?
str[0]=?
4.假设为WINDOWS下的32位C
struct foo {
char a;
int b;
short c;
};
char str[]="abcdefghijklmn";
struct foo *foo=(sturct foo*)str;
foo->b=?
5 根据下列代码,请实现链表反转函数
struct data {
int key;
struct data *next
};
struct data *head=NULL;
struct data* reverse(struct data *head){
}
6题 请用C语言实现strlen()函数,该函数的功能是计算一个字符串的长度.
C语言的几道考题,请各位高手帮忙,急!!!(追加50分)
} void main(){ int a,b,c;printf("请输入3个数;")scanf(“%d %d %d”,&a,&b,&c);s=stu(a,b,c);printf("%d",s);} 实在是懒的写了,都快1点了。困了。。。我给你写思路吧`我写清楚点~如果你有基础绝对可以自己写出来的。。。第七题 要求不是很明确 要不要判断输入的数字...
请高手帮我解决一下这道C语言题目,谢谢!
1、1234567 s1指针指向1,s2指针指向7 t=*s1++ s1指针指向2(t得到1的值 1)s1=*s2-- s2指针指向6(值发生改变1734567)s2=t; (值发生改变1734517)2、s1指针指向2,s2指针指向6 t=*s1++ s1指针指向3(t得到2的值 7)s1=*s2-- s2指针指向5(值发生改变1714517)s2=t; ...
谁能帮我解决下面的C语言问题啊,最好能说明解析过程。
解析:道理同第1题,执行switch(a),满足条件进入switch(b),接着满足条件执行case 0后语句,break跳出switch(b),由于跳出后没有语句break,因此接着执行switch(a)。记住一点:break语句只能跳出一个switch;3、至于这题,估计是你输错了,如果题目真这样,就是题目错了。编译都不可能通过,在...
计算机C语言编程问题 高手来 回答好了加分
p=a;那么*p = *a;而*a = a[0];也就是说*p = a[0];那行程序相当于:for(i=0 ; i<4 ; i++) a[i]=++a[0];\/\/你应该好好区分一下“*”在不同位置不同的含义、、、有三种含义;(1)变量的声明时,int a[5];int* p=a;\/\/p就相当于一个a指向的地址的别名。注意:是p...
C语言高手 请告诉我几道简单的题! 我想搞明白 谢谢
第一个题,t是一个数组,pt是一个指针数组,做完循环后,指针数组就指向了t这个数组了。即pt和t应该是一个内容,只不过t是const的。*(pt+1)就是t[1],*(*(pt+l)+2)就是t[1][2]了。第二个题,sum没有初始化,所以答案就选c了。记住一点哦,永远不要使用未初始化的变量!第三个题,...
C语言的题,高手快点来救救我,
incude<stdio.h> define N 5 void main() { int a[N]={ 8,6,5,4,1 },i,j,k;for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]>a[j] ) {k=a[i];a[i]=a[j];a[j]=k;} for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\\n");...
请高手帮我解决一下这道C语言题目,谢谢!
a的地址传给n,while 把a的值变为 -1,因为while跳出循环的条件是0,而测试的是减一之前的a,所以a的值变为-1了,输出之前,a的值又被加为0,所以结果是 0
c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者...
C语言编程基础题目,请帮我写写。
1、设6个int型变量,如n1,n2,n3,n4,n5,n6分别代表不同类型的字符个数,如n1为大写英文,n2为小写英文等等。2、用1 个循环,逐个判断字符的类型,是大写的给n1+1,小写的给n2+1,等一次类推。3、退出循环时就6个不同类型的个数都统计出来了。程序简单如下:include<stdio.h> include<string.h...
C语言高手帮忙做这三道题,要详解 谢谢拉!!
x"的值为0时。所以就是x==0.2、C 这题和上题一样,就是(m)表达式为真时,执行a++;为假时,执行a-。表达式m的真假与表达式m!=0一样,所以选C。3、C define是宏定义,这里的效果就是把s(m,n)替换成m\/n,所以s(4+2,2+1)进行替换后就成了4+2\/2+1=4+1+1=6。所以选C ...