函数mystrlen(char *s)的功能是求字符串s的长度,请填空。 mystrlen(char *s) { char *t: t=s; while(【 】)t++; return(t-s); }
A.求字符串s的长度
B.比较两个串的大小
C.将串s复制到串t
D.求字符串s所占字节数
以下函数的返回结果是()。
int function(char *x) {char *p=x; while(*p++); return(p-x-1);}
A、求字符串的长度
B、将字符串x连接到字符串p后面
C、将字符串x复制到字符串p中
D、将字符串x反向存放
请编写一个函数fun(),它的功能是将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include <string.h>
long fun(char *p)
{
}
main ()
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
}
指针
1.实验目的
①通过实验进一步掌握指针的概念,会定义和使用指针变量。
②能正确使用数组的指针和指向数组的指针变量。
③能正确使用字符串的指针和指向字符串的指针变量。
④能正确使用指向函数的指针变量。
⑤了解指向指针的概念及其使用方法。
2.实验内容
编程序并上机调试运行程序(都要求用指针处理)。
①输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
②有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
③有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
④编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数求1/1+1/3+…+1/n(利用指针函数)。
请编写函数fun(),该函数的功能是:移动字符串中的内容,移动的规则是把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为ABCDEFGHIJK,m的值为 3,移动后,字符串中的内容应该是DEFGHIJKABC。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio. h>
include <string.h>
define N 80
void fun (char *w, int m)
{
}
main ()
{
char a[N]= "ABCDEFGHIJK";
int m;
printf ("The origina string : \n");
puts (a);
printf("\n\nEnter m: ");
scanf ("%d", &m);
fun (a, m);
printf (" \nThe string after moving : \n");
puts (a);
printf ("\n\n");
}
以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。请填空。
Strcen(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)=______)
num++;
while(b[n])
{*(a+num)=b[n];num++;______;}
return(num);
}
以下函数把b字符串连到a字符串的后面,并返回a中新字符串的长度,请填空。 strcen(char a[],char b[]) { int num=0,n=0; while(*(a+num)!=【 】)num++; while(b[n]){*(a+num)=b[n];num++;【 】;} return num; }
以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。请填空。
Strcen(char a[],char b[])
{ int num=0,n=0;
while(*(a+num)=______)
num++;
while(b[n])
{*(a+num)=b[n];num++;______;}
return(num);
}