编写一个函数,从传人的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。 试题程序: include<stdio.h> include<string.h> include<conio.h> char*proc(char(*a)[81],int num) { } void main { char ss[l0][81],*max; int n,i=0; printf("输入若干个字符串:"); gets(ss[i]); puts(ss[i]); while(!strcmp(ss[i],"****")= =0) { i++: gets(ssEi]); puts(ss[i]); } n=i: max=proe(SS,n); printf("\nmax=%s\n",max); }
第1题:
向函数传递字符串,既可以用字符数组做函数参数,也可以用字符指针做函数参数,这两种方式都是传引用调用,就是将字符串的首地址、而非字符串中的全部字符传给形参。
第2题:
有一个字符串,通过指针,将此字符串中从第m个字符开始的n个字符复制到另一个字符串。
第3题:
删除字符:输入一个字符串s,再输入一个单个字符c,将字符串中所有的c字符删除后输出该字符串。要求定义和调用函数delchar(char *s,char c),该函数将字符串s中出现的所有c字符删除。编写相应程序。
第4题:
应用中,C++中的字符指针在大多数情况下都指的是一个字符串(字符串数组首地址)。
第5题:
编写函数get_max,其功能是将字符串s中最大字符的地址返回,再编写一个主函数,调用该函数,将字符串s中从最大字符开始的子串中小写字母转换成大写字母,然后输出新字符串s。例如,假设s的内容为“qwertyou”,则从最大字符’y’开始的子串为“you”,处理后的s为“qwertYOU”。 函数形式为:char *get_max(char s[])