以下程序(程序左边的数字为符加的行号)。1include2include3main()4{char s[]="以下程序(程序左边的数字为符加的行号)。 1#include<str.h> 2#include<stdio.h> 3main() 4{ char s[]="string"; 5puts(s); 6strcpy(s,"hello"); 7printf("%3s\n",s);}A.没有错B.第1行有错C.第6行有错D.第7行有错

题目
以下程序(程序左边的数字为符加的行号)。1include2include3main()4{char s[]="

以下程序(程序左边的数字为符加的行号)。 1#include<str.h> 2#include<stdio.h> 3main() 4{ char s[]="string"; 5puts(s); 6strcpy(s,"hello"); 7printf("%3s\n",s);}

A.没有错

B.第1行有错

C.第6行有错

D.第7行有错


相似考题
参考答案和解析
正确答案:B
解析:字符串复制函数strcpy包含在头文件string.h中,因此,程序中的第1行文件包含命令是错误的。
更多“以下程序(程序左边的数字为符加的行号)。1#include<str.h>2#include<stdio.h>3main()4{char s[]=" ”相关问题
  • 第1题:

    有以下程序 include void fun(char *t, char *s) { whil

    有以下程序 #include <stdio.h> void fun(char *t, char *s) { while(*t!=0) t++; while( (*t++ = *s++ )!=0 ); main() { char ss[10]="acc",aa[10]="bbxxyy"; fun(ss, aa); printff"%s,%s\n", ss,aa); 程序的运行结果是

    A.accxyy, bbxxyy

    B.acc, bbxxyy

    C.accxxyy, bbxxyy

    D.accbbxxyy, bbxxyy


    正确答案:D
    解析:函数fun()中,前一个while循环的作用是:如果形参指针t所指内容不为0,则让t增1,直到它指向0。后一个 while循环的作用是:将s所指内容赋给t所指地址,然后两者同时增1,直到赋给t的内容为0。由此可见,函数fun()的作用就是将形参s所指字符串连接到形参t所指字符串末尾,相当于库函数中的strcat()。主函数中使用fun()将数组aa中的字符串连接到了数组ss中原有字符串之后,所以执行完后,ss中的字符串为"accbbxxyy"。故最终输出的结果是:accbbxxyy,bbxxyy,应该选择D。

  • 第2题:

    有以下程序:includevoid fun(char *a,char*B){while(*a=='*')a++;while(*b=*A){b++;a+

    有以下程序: #include<stdio.h> void fun(char *a,char*B){while(*a=='*')a++; while(*b=*A){b++;a++;} } main() {char*s="****a*b****",t[80]; fun(s,t);puts(t); } 程序的运行结果是( )。

    A.*****a*b

    B.a*b

    C.a*b****

    D.ab


    正确答案:C

  • 第3题:

    以下程序(程序左边的数字为附加的行号)______。1include2include3main()4{char

    以下程序(程序左边的数字为附加的行号)______。 1#include<str.h> 2#include<stdio.h> 3main() 4{ chars[]="string"; 5puts(s); 6strcpy(s,"hello"); 7printf("%3S\n",s);}

    A.没有错

    B.第1行有错

    C.第6行有错

    D.第7行有错


    正确答案:B
    解析:字符串复制函数strcpy包含在头文件string.h中,因此,程序中的第1行文件包含命令是错误的。

  • 第4题:

    以下程序的输出结果为()。includemain(){ char *alpha[6]={"ABCDEFGH","IJKL","MNOP","

    以下程序的输出结果为( )。 #include<stdio.h> main() { char *alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"}; char**p;int i; p=alpha; for(i=0;i<4;i++)printf(" %s" ,p[i]);printf("\n" );}

    A.ABCDEFGHIJKL

    B.ABCD

    C.ABCDEFGHIJKLMNOPQRST

    D.AEIM


    正确答案:C
    解析:字符串数组中的每个元素是一个指向字符串的字符指针,可用一个指向指针的指针来指向一个字符串数组,题中p即为一个这样的指针,p[i]则指向了数组alpha的第i+1各元素。注意:用带下标的指针变量引用一维数组中的元素。

  • 第5题:

    有以下程序inc1udemain(){char*s={"ABC"}; do {printf("%d",*s%10);s++; }while(*s);

    有以下程序 #inc1ude<stdio.h> main() { char*s={"ABC"}; do { printf("%d",*s%10); s++; } while(*s); } 注意字母A的ASCII码值为65。程序运行后的输出结果是______。

    A.5670

    B.656667

    C.567

    D.ABC


    正确答案:C
    解析:本题考查的是do-while语句的使用,do-while执行的过程是当while后面—对括号中表达式的值为非0时,转去执行循环体,当值为0时,退出循环。本题定义了—个指针变量s,并使得s指向字符串"ABC",的首地址,即把字符A的地址赋给s,因为do-while语句是先执行循环体再进行循环条件的判断,因此先执行printf语句,“s%10”是s对10的取模运算,第—字符A的ASCII码为65,故“65%10”取模运算结果为5,因此输出5,接着执行s++,s指向字符串的下—个字符,当字符串中字符没有循环完时,继续执行do-while语句,以此类推,B和C的分别为6和7,因此,选项C是正确的。