更多“有以下程序main(){ char s[]="abcde";s+=2;printf("%d\n",s[0]);}执行后的结果是A) 输出字 ”相关问题
  • 第1题:

    有下列程序: main() {char s[]="abcde"; s+=2; printf("%d\n", s[0]; } 执行后的结果是( )。

    A.输出字符a的ASCII码

    B.输出字符c的ASCII码

    C.输出字符c

    D.程序出错


    正确答案:D
    解析:因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。

  • 第2题:

    有下列程序: main { char s[]="abcde"; s+=2: printf("%d\n",s[0]); } 执行后的结果是( )。

    A.输出字符a的ASCII码

    B.输出字符c的ASCII码

    C.输出字符c

    D.程序出错


    正确答案:D
    因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。

  • 第3题:

    以下程序运行后的输出结果是______。 main() { char*s="abcde";s+=2;printf("%1d\n",s);}

    A.cde

    B.字符c的ASCII码值

    C.字符c的地址

    D.出错


    正确答案:C

  • 第4题:

    有下列程序: main() { char s[]="abcde"; s+ =2; printf("%d\n",s[0]); } 执行后的结果是( )。

    A.输出字符a的ASCII码

    B.输出字符c的ASCII码

    C.输出字符c

    D.程序出错


    正确答案:D
    解析:因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位.因而程序编译时出错。

  • 第5题:

    有下列程序: main { char s[]="abcde"; s+=2: printf("%d\n",s[0]); } 执行后的结果是( )。

    A.输出字符a的ASCII码

    B.输出字符c的ASCII码

    C.输出字符c

    D.程序出错


    正确答案:D
    因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。