C语言选择题 求大家帮忙看看 能帮我说说执行过程吗? 谢谢
若有定义chars〔〕={“Girl”};执行下面语句后输出结果是__s〔0〕=s〔2〕;s〔2〕=s〔0〕;s〔1〕=s〔4〕;s〔4〕=s〔1〕;printf(“%c...
若有定义 char s〔〕={ “ Girl”} ; 执行下面语句后输出结果是__
s〔0〕=s〔2〕 ; s〔2〕=s〔0〕; s〔1〕=s〔4〕 ; s〔4〕=s〔1〕;
printf( “ %c”,“%s\n”,s〔0〕,s) ;
A r ,Girl B r ,r
C r ,lirG D r ,Girl 展开
s〔0〕=s〔2〕 ; s〔2〕=s〔0〕; s〔1〕=s〔4〕 ; s〔4〕=s〔1〕;
printf( “ %c”,“%s\n”,s〔0〕,s) ;
A r ,Girl B r ,r
C r ,lirG D r ,Girl 展开
2个回答
展开全部
按你的书写,字符串 中第一个字符是空格,执行结果不在4个答案中。
另外,你用了中文标点符号,语法通不过。
char s〔〕={ “ Girl”} ; //声明s是char型数组,初始化为 char s[6]; 内容为:空格,字母Girl, 和字符串结束符'\0';
s〔0〕=s〔2〕 ; //赋值语句,让s[0]里的空格符位置变s[2]里的i; 字符串变:"iGirl";
s〔2〕=s〔0〕; //赋值语句,让s[2]变s[0]里的i; 字符串:"iGirl";
s〔1〕=s〔4〕; // 赋值语句,让s[1]里的G变s[4]里的l; 字符串变:"ilirl"
s〔4〕=s〔1〕; // 赋值语句,让s[4]变s[1]里的l; 字符串:"ilirl";
执行结果 i,lirl 不在4个答案中。
程序改为用英文书写,去掉第一个空格:
char s[]={"Girl"} ; //初始化 char s[5]="Girl";
s[0]=s[2]; // 字符串变为 "rirl"
s[2]=s[0]; // 字符串变为 "rirl"
s[1]=s[4]; // s[4] 是字符串结束符号 '\0', 赋值后s[1] 也成字符串结束符,字符串变为 "r",
s[4]=s[1]; // 字符串 还是 "r", 因 s[1] 是字符串结束符号 '\0',
( char s[5] 的内容为:r\0rl\0, 其中2个 \0 是字符串结束符)
printf("%c,%s\n",s[0],s); // 输出 r,r 答案选 B.
另外,你用了中文标点符号,语法通不过。
char s〔〕={ “ Girl”} ; //声明s是char型数组,初始化为 char s[6]; 内容为:空格,字母Girl, 和字符串结束符'\0';
s〔0〕=s〔2〕 ; //赋值语句,让s[0]里的空格符位置变s[2]里的i; 字符串变:"iGirl";
s〔2〕=s〔0〕; //赋值语句,让s[2]变s[0]里的i; 字符串:"iGirl";
s〔1〕=s〔4〕; // 赋值语句,让s[1]里的G变s[4]里的l; 字符串变:"ilirl"
s〔4〕=s〔1〕; // 赋值语句,让s[4]变s[1]里的l; 字符串:"ilirl";
执行结果 i,lirl 不在4个答案中。
程序改为用英文书写,去掉第一个空格:
char s[]={"Girl"} ; //初始化 char s[5]="Girl";
s[0]=s[2]; // 字符串变为 "rirl"
s[2]=s[0]; // 字符串变为 "rirl"
s[1]=s[4]; // s[4] 是字符串结束符号 '\0', 赋值后s[1] 也成字符串结束符,字符串变为 "r",
s[4]=s[1]; // 字符串 还是 "r", 因 s[1] 是字符串结束符号 '\0',
( char s[5] 的内容为:r\0rl\0, 其中2个 \0 是字符串结束符)
printf("%c,%s\n",s[0],s); // 输出 r,r 答案选 B.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询