鱼C论坛

 找回密码
 立即注册
查看: 2062|回复: 2

C语言二维数组问题请教

[复制链接]
发表于 2022-11-19 23:55:57 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何做到输入三行文字,每行最多40个字符存进一个二维数组中。
不明白如何形成三行,怎么样能形成换行的效果呀,和怎么要求每行不超过40个字符呀,如果[3][40]的话那空余的不就补零了吗,和想要的就不一样了呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-20 00:25:23 | 显示全部楼层
本帖最后由 jackz007 于 2022-11-20 01:46 编辑

        最多 40 个的意思就是 1 ~ 40
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         char c , s[3][40] = {0}          ;
  5.         int i , j , k , m                ;
  6.         for(i = 0 ; i < 3 ;) {
  7.                 for(j = 0 ; (c = getchar()) != '\n' && j < 40 ; j ++) {
  8.                         s[i][j] = c      ;
  9.                 }
  10.                 if(j) i ++               ;
  11.         }
  12.         printf("\n")                     ;
  13.         for(i = 0 ; i < 3 ; i ++) {
  14.                 for(j = 0 ; s[i][j] && j < 40 ; j ++) {
  15.                         putchar(s[i][j]) ;
  16.                 }
  17.                 putchar('\n')            ;
  18.         }
  19. }
复制代码

        编译运行实况:
  1. D:\[00.Exerciese.2022]\C>g++ -o x x.c

  2. D:\[00.Exerciese.2022]\C>x
  3. ABCDEFG
  4. 12345678
  5. abcdefghjiklmn

  6. ABCDEFG
  7. 12345678
  8. abcdefghjiklmn

  9. D:\[00.Exerciese.2022]\C>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-20 09:28:29 From FishC Mobile | 显示全部楼层
jackz007 发表于 2022-11-20 00:25
最多 40 个的意思就是 1 ~ 40

        编译运行实况:

我觉得if(j)i++的上面加上一条清空输入流的语句比较好,考虑到输入的第一条字符串里有可能出现大于40个字符的情况,不清空输入流会出现第一条字符串里剩余的字符存储到第二个数组里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 01:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表