{
s1++; s2++; }
return *s1-*s2; }
2.以下程序用来输出字符串。
#include
char *a[ ]={\ char **p;
for ( p=a; p printf ( \ 【2】*p ); } 3.以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数组,然后输出该字符数组中的字符串,请填空。 #include char str[81],*p; int i; for (i=0;i<80;i++) { str[i]=getchar( ); if (str[i]=='\\n’) break; } str[i]= '\\0'; 【3】p=str ; while(*p) putchar(*p 【4】++ ); } 4.下面是一个实现把t指向的字符串复制到s的函数,请完成程序。 strcpy ( char *s, char *t ) { while ( ( 【5】*s++ = *t++ ) !='\\0' ); } 5.下面count函数的功能是统计子串substr在母串str中出现的次数。 count(char *str, char *substr) { int i,j`,k,num=0; for (i=0; 【6】str[i]!='\\0' ; i++) for ( 【7】j=i , k=0 ; substr[k]==str[j]; k++, j++) if (substr[ 【8】k+1 ]=='\\0') { num++; break; } return(num); } 6.下面connect函数的功能是将两个字符串s和t连接起来。 connect (char *s, char *t) { char *p=s; while (*s) 【9】s++ ; while (*t) { *s= 【10】*t ; s++; t++; } *s='\\0'; 【11】return (p); } 三、阅读程序并写出运行结果 1.运行如下程序并分析其结果。 #include void fun ( char *s ); static char str [ ]=\ fun ( str ); } void fun ( char *s ) { if ( *s ) { fun ( ++s ); printf ( \ } } 2.运行如下程序并分析其结果。 #include void sub ( int *x, int y, int z ) { *x = y - z; } main ( ) { int a, b, c; sub ( &a, 10, 5 ); sub ( &b, a, 7 ); sub ( &c, a, b ); printf ( \} 3.下列程序的功能是保留给定字符串中小于字母'n'的字母。请写出其结果并分析。 #include int i, j; for ( i=j=0; *(p+i)!='\\0'; i++ ) if ( *(p+i)<'n' ) { *(p+j)=(p+i); j++; } *(p+j)='\\0'; } main( ) { char str [ ]=\ abc ( str ); puts ( str ); } 4.运行如下程序并分析其结果。 #include main ( ) { char *a[4]={\ char *pt; pt=a; printf(\} 5.设如下程序的文件名为myprogram.c,编译并连接后在DOS提示下键入命令:myprogram one two three,则执行结果是什么。 #include main (int argc, char *argv[ ] ) { int i; for (i=1; i printf (\} 四、编程题 1.编一程序,求出从键盘输入的字符串的长度。 3.输入一个字符串,按相反次序输出其中的所有字符。 5.编写一个密码检测程序,程序执行时,要求用户输入密码(标准密码预先设定),然后通过字符串比较函数比较输入密码和标准密码是 否相等。若相等,则显示“口令正确”并转去执行后继程序;若不相等,重新输入,3次都不相等则终止程序的执行。 6.2 习题解答 三、阅读程序并写出运行结果 1.运行结果是: 3 23 123 2.运行结果是: 5, -2,7 3.答案是: mig 4.答案是: Sapporo 5.答案是: one two three 四、编程题 1.编一程序,求出从键盘输入的字符串的长度。