分析下面程序段的运行结果是( )。 char str1[]="abcd",str2[]="abcef"; int i,s; i=0; while((str1[i]==str2[i])&&(str1[i]!='\0')) i++; s=str1[i]-str2[i]; printf("%d\n",s);[/i][/i][/i][/i][/i]
A: -1
B: 0
C: 1
D: 不确定
A: -1
B: 0
C: 1
D: 不确定
举一反三
- 当运行以下程序时,输入abcd,程序的输出结果是:【1】。#include #include 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);}void main(){char str[40]; scanf("%s",str); insert(str);}[/i]
- 对于如下C程序:#include [stdio.h] void Func (char *); int main() { char str[20]; scanf ("%s", str); Func(str); printf ("%s\n", str);} void Func(char *str) { int i = 0; int index = 0; char temp; while (str[index] != '\0'){ index++; } for (i = 0; i < index/2 ; i++){ temp = str[i]; str[i] = str[index - 1 - i]; str[index - 1 - i] = temp; }}如果输入为“abcd”,则输出为:[/i][/i] A: abcd B: dcba C: dcdc D: abab
- 分析下程序,写出输出结果。 #include [stdio.h] #include [string.h] void main( ) { char str[]="123456"; int i,x; char t; x=strlen(str)-1; for (i=0;i<=x/2;i++) { t=str[i]; str[i]=str[x-i]; str[x-i]=t; } puts(str); }[/i][/i]
- 下面程序的功能是从输入的十个字符串中找出最长的那个串。请填空。#include “stdio.h”#include “string.h”#define N 10main(){ char str[N][81],*sp;int i;for(i=0;i<;N;i++) gets(str[i]);sp=( ① );for(i=1;i<;N;i++) if(strlen(sp)<;strlen(str[i])) str[i];printf(“sp=%d,%s\n”,strlen(sp),sp);}[/i][/i][/i] A: str[i] B: &str[i][0] C: str[0] D: str[N]
- 以下函数的功能是连接两个字符串,请完善程序。void str_cat(char str1[ ], char str2[ ], char str[ ]){ int i,j; for(i=0;str1[i]!= '0';i++) str[i]=str1[i]; for(j=0;str2[j]!='0';j++) str[i++]=str2[j]; ; }[/i][/i][/i] A: