若执行printf("%d/n",strlen("a/n/"/x41"))语句,输出结果是()。
A.8
B.7
C.6
D.4
A.8
B.7
C.6
D.4
设有 static char str[]="Beijing"; 则执行 printf("%d\n",strlen(strcpy(str,"China"))); 后的输出结果为_______。
A.5
B.7
C.12
D.14
写出程序结果:
void Func(char str[100])
{
printf("%d\n", sizeof(str));
}
以下程序的输出结果是______。 main() { char str[12]={'s','t','r','i','n','g'}; printf("%d/n",strlen(str)); }
A.6
B.7
C.11
D.12
A.2
B.1
C.5
D.3
A.2
B.4
C.1
D.10
下列程序在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);
}
a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A.***a=25,b=13,c=19
B.***a=26,b=14,c=19
C.###a=25,b=13,c=19
D.###a=26,b=14,c=19
分析下面的程序:
void GetMemory(char **p,int num)
{
*p=(char *)malloc(num);
}
int main()
{
char *str=NULL;
GetMemory(&str,100);
strcpy(str,"hello");
free(str);
if(str!=NULL)
{
strcpy(str,"world");
}
printf("\n str is %s",str);
getchar();
}
问输出结果是什么?希望大家能说说原因,先谢谢了
#include <stdio.h>
#include <stdlib.h>
void getmemory(char *p)
{
p=(char *) malloc(100);
strcpy(p,"hello world");
}
int main()
{
char *str=NULL;
getmemory(str);
printf("%s/n",str);
free(str);
return 0;
}
程序崩溃,getmemory中的malloc 不能返回动态内存, free()对str操作很危险
5.char szstr[10];
strcpy(szstr,"0123456789");
产生什么结果?为什么?
A.求字符串长度
B.二个字符串进行比较
C.字符串的复制
D.字符串的连接