更多“下面的程序的运行结果是xello()func main() {str := "hello"str[0] = 'x'fmt.Println(str)} ”相关问题
  • 第1题:

    下列程序在32位linux或unix中的结果是什么?

    func(char *str)

    {

    printf("%d",sizeof(str));

    printf("%d",strlen(str));

    }

    main()

    {

    char a[]="123456789";

    printf("%d",sizeof(a));

    func(a);

    }


    正确答案:

     

    10 4 9

  • 第2题:

    有以下程序:includemain(){char str[][20]={"Hello","beijing"},*p=str;ptintf("%\n"

    有以下程序: #include <string.h> main() { char str[][20]={"Hello","beijing"},*p=str; ptintf("%\n",strlen(p+20)); } 程序运行后的输出结果是( )。

    A.0

    B.5

    C.7

    D.20


    正确答案:C
    解析:主函数中定义了一个二维字符数组并初始化,初始化后的结果为str[0]="Hello"、str[1]="Beijing",然后定义一个字符指针变量p并让它指向数组的首地址,即指向str[0],而在C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故p+20后指针指向str[1],所以strlen(p+20);返回的是str[1]中的字符串的长度,即Beijing的长度为7,所以最后输出的值为7,所以,4个选项中选项C符合题意。

  • 第3题:

    运行时从键盘上输入字符串Student,以下程序运行后的输出结果是() #include <stdio.h> int func(char s[]) { int i=0; for(;s[i]!='0';i++); return i; } main() { char str[50]; int num; gets(str); num=func(str); printf("%d",num); }


    0

  • 第4题:

    下列程序在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

  • 第5题:

    当运行以下程序时,输入abcd,程序的输出结果是:( )。

    insert(char str[])

    {int i;

    i=strlen(str);

    while(i>0)

    {str[2*i]=str[i];str[2*i-1]='*';i--;}

    printf("%s\n",str);

    }

    main()

    {char str[40];

    scanf("%s",str);insert(str);

    }


    正确答案:a*b*c*d*
    a*b*c*d* 解析:字符处理函数strlen()测试字符串常量的长度,不包括‘\0’在内。因此,函数insert()实现了将字符数组中每个非‘\0’的字符后插入字符‘*’的功能。故输出结果是a*b*c*d*。