若有以下程序 #include main() { int i,j=0; char a[]="How are you!"; for (i=0; a[i]; i++) if (a[i] != ' ') a[j++]=a[i]; a[j]='\0'; printf("%s\n",a); } 则程序的输出结果是______。
A. Howareyou
B. Howareyou!
C. Hay!
D. How are you!
查看答案
若有定义:char c="hello!";,则以下说法正确的是______。
A. 定义中有语法错误
B. c是一个字符串变量
C. c占用7字节内存
D. c的有效字符个数是6
设有如下程序段 int a[1] = {0}; int b[] = {9}; char c[3] = {"A", "B"}; char d = "12"; 以下叙述正确的是______。
A. a,b的定义合法
B. 只有b的定义合法,
C. a,b,c的定义合法
D. 只有a的定义是合法的
不能把字符串:Hello!赋给数组b的语句是______。
A. char b[10]={'H','e','l','l','0','!'};
B. char b[10]={'h','e','l','l','0','!'};
C. char b[10];strcpy(b,"Hello!");
D. char b[10]="Hello!";
有定义语句: int i; char s1[10],s2[10]= "Program";,则能正确给s1数组赋字符串的语句是______。
A. for(i=0; i<=7; i++) s1[i]=s2[i];
B. s1=s2;
C. while(s2) s1++ =s2++;
D. for(i=0; s2[i]; i++ ) s1[i]=s2[i];