以下选项中有语法错误的是
A) char *str[ ]={”guest”};
B) char str[ ][10]={”guesi”};
C) char *st[3]; str[1]=”guest”;
D) char str[3][10]; str[1]=”gest”;
第1题:
下面的程序各自独立,请问执行下面的四个TestMemory 函数各有什么样的结果?
①void GetMemory(char * p)
{
p = (char * )malloc(100);
}
void TestMemory (void)
{
char *str = NULL;
GetMemory (str);
strcpy(str, "hello world");
prinff(str);
}
② char * GetMemory (void)
{
char p[ ] = "hello world";
return p;
}
void TestMemory (void)
{
char * str = NULL;
str = GetMemory( );
printf(str);
}
③void GetMemory(char * * p, int num)
{
* p = (char * )malloc(num);
}
void TestMemory (void)
{
char * str = NULL;
GetMemory(&str, 100);
strcpy( str, "hello" );
printf(sir);
}
④void TestMemory (void)
{
char *str = (char * )malloe(100);
strepy (str, "hello" );
free ( str );
if(str ! = NULL)
{
strepy( str, "world" );
printf(str);
}
}
第2题:
以下程序的输出结果是【 】。
include <stdio.h>
include <string.h>
char *fun(char *t)
{ char *p=t;
return (p+strlen(t)/2);
}
main()
{ char *str="abcdefgh";
str=ftm(str);
puts(str);
}
第3题:
下列初始化字符数组的语句,正确的是()。
A.char[] str = {'h', 'e', 'l', 'l', 'o'};
B.char[5] str = "hello";
C.char[5] str = {"hi"};
D.char[100] str = "";
第4题:
以下选项中有语法错误的是( )。
A.char*str[]={"guest");
B.char str[][lO]={"guest");
C.char*str[3];str[t]="9uest";
D.char str[3][lO];str[1]="guest";
第5题:
以下程序的输出结果是_[13]_______
#include <stdio.h>
#include <string.h>
char *fun(char *t)
{ char *p=t;
return(p+strlen(t)/2);
}
main()
{ char *str="abcdefgh";
str=fun(str);
puts(str);
}
efgh