下列程序在32位linux或unix中的结果是什么?
func(char *str)
{
printf("%d",sizeof(str));
printf("%d",strlen(str));
}
main()
{
char a[]="123456789";
printf("%d",sizeof(a));
func(a);
}
第1题:
下列程序在32位linux或unix中的结果是什么?
func(char *str)
{
printf(" %d",sizeof(str));
printf(" %d",strlen(str));
}
main()
{
char a[]="123456789";
printf(" %d",sizeof(a));
printf(" %d",strlen(a));
func(a);
}
10 9 4 9
第2题:
下列程序的运行结果为 #include<stdio.h> void abc(char * str) { int a,b; for(a=b=0;str[a]!='\0';a++) if(str[a]!='c') str[b++]=str[a]; str[b]='\0';} void main() { char str[]="abcdef"; abc(str); printf("str[]=%s",str);}
A.str[]=abdef
B.str[]=abcdef
C.str[]=a
D.str[]=ab
第3题:
阅读下面程序,则执行后的结果为_____ #include <stdio.h> int main() { char *str="abcdefghijklmnopq"; while(*str++!=′e′); printf("%cn",*str); }
第4题:
下面的程序各自独立,请问执行下面的四个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);
}
}
第5题:
下列程序的运行结果为 #include<stdio.h> vold abc(char*str) { int a,b; for(a=b=0;str[a]! ='\0';a++) if(str[a]!='c') str[b++]=str[a]; str[b]='\0';} void main() { char str[]="abcdef"; abc(str); printf("str[]=%s",str);}
A.str[]=abdef
B.str[]=abcdef
C.str[]=a
D.str[]=ab