strcpy用不了运行的时候老会卡住说参数不兼容,他只有两行,怎么填呀🥺
ch[i]=s[i][0]
ch[i]=s[i][j]
这个题或者这种题,你必须对他的处理逻辑有一点的分析:
针对这个题,你必须意识到:
第一:十个字符串,要循环每个字符串处理
第二:每个字符串,如何找到最大字符。 (存储的问题另说)
除此之外,你贴的代码是有乱的 不知道怎么贴的,下次注意,应该有个插入代码,你可以试试,方便别人给你调代码。
int main()
{
int i, j;
char s[10][20] = { 0 }, ch[10] = { 0 };
for (i = 0; i < 10; i++) //这里相当于10个字符串 每个用20个字符存,
//遍历每个字符串,求每个字符串的最大元素,放在后面数组刚好10个,下标对应放
{
gets_s(s[i]); //获取一个字符串 s是二维数组 s[i]表示的是一个字符串的下标
//这是一个求字符串中最大字符的逻辑
ch[i] = s[i][0]; //结合下面的逻辑,暂存第一个下标元素,和后面所有元素作比较
for (j = 1; s[i][j] != '\0'; j++) //注意 下标从1开始,那第一个0呢? 肯定在上面用了
{
if (ch[i] < s[i][j]) // 和后面所有元素作比较 取最大值
{
ch[i] = s[i][j]; //说明s[i][j] 比较大,存到目标位置
}
}
}
for (i = 0; i < 10; i++)
{
printf("%d %c \n", i, ch[i]);
}
}