1、输入一个字符串,将其逆序后输出。
2、下面的代码有什么问题?并请给出正确的写法。
void DoSomeThing(char* p)
{
char str[16];
int n;
assert(NULL != p);
sscanf(p, "%s%d", str, n);
if (0 == strcmp(str, "something"))
{
...
}
}
3、不使用系统库函数,请写一个在一个字符串中查找一个子串的程序。
4、字符串”\\\”A100\”\\”的长度是多少?
5、用下列程序判断字符串s是否是对称的,对称返回1,否则返回0,填空
Int f(_______)
{
Int i = 0,j = 0;
While(s[j])
_________;
For(j--;i<j&&s[i] == s[j]; i++,j--);
Return ________________;
}
6、编程实现,将一个字符串中的首尾空格全部删除,中间的空格只保留一个,例如:“ I LOVE MY HOME ”删除后的结果为“I LOVE MY HOME”
7、请写一个将整形转换成字符串的函数,函数接口自己定义,如 123 转变成“123”。
8、strcopy和memcopy的区别
9、请找出下面代码中的所有错误
说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”
#include"string.h"
main()
{
char*src="hello,world";
char* dest=NULL;
int len=strlen(src);
dest=(char*)malloc(len);
char* d=dest;
char* s=src[len];
while(len--!=0)
d++=s--;
printf("%s",dest);
return 0;
}
10、下述程序执行后的输出结果是
#include
main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
A.g B.h C.i D.j
11、若定义了char ch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是
A.def
B.d
C.e
D.0
12、下列转义字符中错误的是
A.′\000′
B.′\14′
C.′\x111′
D.′\2′
13、表达式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一个
A.非零整数
B.浮点数
C.0
D.字符
14、这个程序有什么问题:
main()
{ char cl,c2;
cl='9';
c2='10';
printf(”cl=%c,c2=%c\n”,c1,c2);
}
15、不使用循环语句,如何自己编程得出字符串str的长度,int myStrlen(char * str);
16、strcpy、sprintf、memcpy有什么区别?
17、编写程序实现atoi(),讲一个字符串转化为一个整型数值。如:“65321”转化后为65321
18、编写一个函数,有如下函数原型:
函数:int continum(char *intputstr,char *outputstr).
给一个字符串,要求找到里面连续的串,并且串的长度是所有连续串中最长的;结果是返回最长连续串的长度和对应的串;
例如:有字符串“abc123ef456ss123456789”其首地址是intputstr,最长的连续串是 123456789,长度是9,该串由outputstr返回。
19、Strcat函数的返回值为什么是char *
20、Char *str=“//thtp.www.”sizeof(str)=?
Char *p=str; sizeof(p)=?
Char buf[100];sizeof(buf);