为什么是求字符串s的长度呢?
int aaa(char *s)
{char *t=s;
while(*t++);
t--;
return(t-s);
}
2.若有定义语句:int a[2][3],*p[3];则为什么p[0]=&a[1][2];
3.#include
void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{int t,i,j;
for(i=0;i<N-1;I++)
for(j=i+1;j<N;J++)
if (a(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for (i=0;i<10;i++) printf("%d,",c);
printf("\n");
}
结果是:1,2,3,4,9,8,7,6,5,0,
4.
#include
int fun(char s[])
{int n=0;
while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;}
return(n);
}
main()
{char s[10]={’6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’};
printf("%d\n",fun(s));
}
为什么是61?
5.
有以下程序:
#include
void fun(char *t,char *s)
{
while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{
char ss[10]=”acc”,aa[10]=”bbxxyy”;
fun(ss,aa);
printf(“%s,%s\n”,ss,aa);
}
程序运行结果是accbbxxyy,bbxxyy
6.#include <stdio.h>
#include <string.h>
void fun(char s[][10],int n)
{
char t;int i,j;
for(i=0;i<N-1;I++)
for(j=i+1,j<N;J++)
/*比较字符串的首字符大小,并交换字符串的首字符 */
if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;}
}
main()
{
char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc””aabcc”}
fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);
}
为什么是aaaacc,xy
7.有以下程序
#include
int a=1;
int f(int c)
{static int a=2;
c=c+1;
return (a++)+c;}
main()
{ int i,k=0;
for(i=0;i<2;i++){int a=3;k+=f(a);}
k+=a;
printf(“%d\n”,k);
}
程序运行结果是14
8.有以下程序
#include
void fun(int n,int *p)
{ int f1,f2;
if(n==1||n==2) *p=1;
else
{ fun(n-1,&f1); fun(n-2,&f2);
*p=f1+f2;
}
}
main()
{ int s;
fun(3,&s); printf("%d\n",s);
}
程序的运行结果是2
9.有以下程序
#include
struct tt
{int x;struct tt *y;} *p;
struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};
main()
{ int i;
p=a;
for(i=1;i<=2;i++) {printf("%d,",p->x); p=p->y;}
}
程序的运行结果是20,15
10.有以下程序
#include
#include
typedef struct{ char name[9];char sex; float score[2]; } STU;
STU f(STU a)
{ STU b={"Zhao",'m',85.0,90.0}; int i;
strcpy(a.name,b.name);
a. sex=b.sex;
for(i=0;i<2;i++) a.score=b.score;
return a;
}
main()
{STU c={"Qian",'f',95.0,92.0},d;
d=f(c); printf("%s,%c,%2.0f,%2.0f\n",d.name,d.sex,d.score[0],d.score[1]);
}
程序的运行结果是Zhao,m,85,90
11。
有以下程序
#include
main()
{ int a=1,b=2,c=3,x;
x=(a^b)&c; printf("%d\n",x);
}
程序的运行结果是3
12有以下程序
#include
main()
{FILE *fp; int a[10]={1,2,3,0,0},i;
fp=fopen("d2.dat,"wb");
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++) printf("%d",a);
}
为什么是:1,2,3,0,0,1,2,3,0,0,
C语言的问题,求解释
int main(){ int a=1;a=a+7; printf("%d\\n",a);return 0;} B.不对,虽然能得到正确答案,但不符合c语言语法。a=7+b+c,a++;应该为a=7+b+c;a++;a=7+b+c与a++是两个语句,应该用分号隔开,而不是用逗号!举例:include<stdio.h> int main(){ int a=1,b=1,c=1...
C语言问题求大神详细解析
a错 因为调用在定义之前但是没有声明 b错 函数定义的时候返回值类型为void,却欲图使用函数的返回值。c错 函数的声明返回值为int,定义返回值为void 不相符 d正确
...帮忙解答,追加悬赏喔。麻烦把各个选项都解释解释最好了:)_百度知 ...
这个union是表示,一块储存空间用short,long,char,三种类型来描述,所以c[0] 与i[0]一样的。这个程序是要打印s->c[0],printf("%x\\n", s ->c[0])这句里的%x表示打印的数字是十六进制的。由于c[0]里面放的是0x39,所以这里打印的正好是39.第三题:与第二题类似,注意这里求的是them的...
c语言 求解释~~
ghimno hino 首先你定义了一个static类型的结构体变量s1 并对里面的数组c赋值为abc 指针s指向了def这个字符串 然后你又定义了一个static类型的结构体变量s2 并使得指针cp指向了字符串“ghi” 。ss1.c数据赋值为jki 。ss1.s指向了“mno”字符串。最后是print(引用下面那个哥们的):第一个printf输...
C语言问题 题目见下面 求解释
[]符号代表取偏移地址的内容。a[5]表示取指针a向后偏移5个指针a所指类型数据长度(即int型)的位置处的内容。C语言不检查数组越界,因此a[5]在编译期不会报错。&a[5]代表该位置的地址,相当于a+5。因此q-p相当于a+5-a,答案自然为5.
大学c语言设计,求解释程序段
C语言提供了一种用于多分支选择的switch语句, 其一般形式为:switch(表达式){ case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;} 其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, ...
第六题c语言,求解释
答案为D c读一个字符 1 d读到有效数字后遇到空格结束,23《空格》s读到有效字符后,遇到空白字符(回车,空格,TAB等)结束,得到456
c语言问题 求解释其中while (!b)的意思
在C语言中,0表示假,非0表示真。while(!b)表示b等于0时,判断条件为真,执行循环体;否则为假,不执行。非运算符(!)为单目运算符,具有右结合性。参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!0为真;!9为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0 ...
c语言题目,求解惑
2d是C语言中printf函数的输出格式说明符。具体解释如下:使输出的int型的数值以2位的固定位宽输出。如果不足2位,则在前面补空格;如果超过2位,则按实际位数输出。注:如果输出的数值不是int型,则进行强制类型转换为int,之后按上面的格式输出。举例如下:printf("%2d", 12); \/\/ 输出12 printf...
C语言问题,求原因解!
X代表十六进制,p代表a数组的首地址 第一个printf()输出194就是说数组a的首地址是十六进制的194 p+9就是指向0的位置,a中每一个元素占用2个字节,那么从a的开始到0共占用2*9 = 18个字节18的十六进制是12,所以194 + 12 = 1a6故选D ...