二、填空題:
(1)以下函數(shù)sstrcat()的功能是實現(xiàn)字符串的連接,即將t所指字符串復制到s所指字符串的尾部。例如:s所指字符串為abcd,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abcdefgh。請?zhí)羁铡?nbsp;
# include <string.h>
void sstrcat(char *s, char *t)
{ int n;
n= strlen(s);
while (*(s+n)= 【1】 ){s++; t++;}
}
(2)以下程序運行后的輸出結(jié)果是 【2】 。
#include <string.h>
char *ss(char *s)
{ char *p, t;
p=s+1; t=*s;
while(*p) { *(p-1) = *p; p++;}
*(p-1)=t;
return s;
}
main()
{ char *p, str[10]="abcdefgh";
p = ss(str) ;
printf("%s\n",p);
}
(3)以下程序運行后的輸出結(jié)果是 【3】
#include "string.h"
void fun(char *s,int p,int k)
{ int i;
for(i=p;i<k-1;i++)
s[i]=s[i+2];
}
main()
{ char s[]="abcdefg";
fun(s,3,strlen(s));
puts(s);
}
(4)以下程序運行后的輸出結(jié)果是【4】
#include "string.h"
main()
{
char ch[]="abc",x[3][4]; int i;
for(i=0;i<3;i++) strcpy(x[i],ch);
for(i=0;i<3;i++) printf("%s",&x[i][i]);
printf("\n");
}
(5)以下程序中函數(shù)huiwen的功能是檢查一個字符串是否是回文,當字符串是回文時,函數(shù)返回字符串:yes
yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出.所謂回文即正向與反向的拼寫都一樣,例如:adgda.請?zhí)羁?
#include "string.h"
char *huiwen(char *str)
{
char *p1,*p2; int i,t=0;
p1=str; p2= ①
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--)
{ t=1; break; }
if( ②) return ("yes!");
else return ("no!");
}
main()
{
char str[50];
printf("Input:"); scanf("%s",str);
printf("%s\n", ③ );
}
【5】
【6】
【7】
(6) 以下程序運行后的輸出結(jié)果是 【8】 。
main ()
{ char a[]="Language",b[]="Programe";
char *p1,*p2; int k;
p1=a; p2=b;
for(k=0;k<=7;k++)
if(*p1+k)==*(p2+k)} printf("%c",*(p1+k))_;
]
(7) 以下程序運行后的輸出結(jié)果是 【9】 。
main()
{ char a[]="123456789",*p; int i=0;
p=a;
while(*p)
{ if(i%2==0) *p='*';
p++;i++;
}
puts(a);
}
(8) 以下sstrcpy( )函數(shù)實現(xiàn)字符串復制,即將t所指字符串復制到s所指向內(nèi)存空間中,形成一個新的字符串s。請?zhí)羁铡?BR> void sstrcpy(char *s,char *t)
{ while(*s++=【10】);}
main( )
{ char str1[100],str2[]=”abcdefgh”;
sstrcpy(str1,str2);
printf(“%s\n”,str1);
}
(9) 下列程序的運行結(jié)果是:【11】
#include <string.h>
char *ss(char *s)
{ return s+strlen(s)/2;}
main( )
{ char *p,*str=”abcdefgh”;
p=ss(str); printf(“%s\n”,p);
}
(10) 以下程序運行后輸入:3,abcde<回車>,則輸出結(jié)果是 【12】
#include <string.h>
move(char *str, int n)
{ char temp ; int i;
temp=str[n-1];
for(i=n-1; i>0;i--) str[i]=str[i-1];
str[0]=temp;
}
main()
{ char s[50]; int n, i, z;
scanf("%d,%s",&n, s);
z=strlen(s);
for(i=1; i<=n; i++) move(s,z);
printf("%s\n",s);
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |