A-A+

以下程序从输入的10个字符串中找出最长的那个串 请填空。 include <stdio.h>

2022-08-12 18:51:30 问答库 阅读 197 次

问题详情

以下程序从输入的10个字符串中找出最长的那个串,请填空。 include <stdio.h> include <string.h> define N 10 main() { char str[N][81],*sp; int i; for(i=0;i<N;i++)gets(str[i]); sp=str[0]; for(i=1;i<N;i++) if(strlen(sp)<strlen(str[i])) 【 】; printf("输出最长的那个串:n%sn",sp); printf("输出最长的那个串的长度:%dn",strlen(sp));}


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:sp=str[i]
二维字符数组即数组的每个元素又是一个字符串,即字符串数组。题中二维数组的第一行的首地址赋给字符指针sp,使sp指向了二维字符数组的一个字符串。求字符串长度函数strlen比较当前字符串与数组的下一个元素的字符串的长度,如果当前字符串的长度小于下一个元素的,则指针sp又指向了下一个元素,直到比较到数组的最后一个元素,得到的sp指针所指向的字符串即为长度最长的字符串。

考点:字符串,程序