鱼C论坛

 找回密码
 立即注册
查看: 2911|回复: 17

c语言scanf输入字符串二维数组_已解决

[复制链接]
发表于 2022-4-5 15:09:06 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 涛4091 于 2023-2-23 11:03 编辑

如何编写出一个二维字符串型数组,例如图片中定义一个char a[4][3]。a[0][0]等于name1。a[0][1]等于分数
屏幕截图 2022-04-05 150516.png

评分

参与人数 1荣誉 +3 收起 理由
sfqxx + 3 我去,30鱼币,没领到

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-5 15:18:19 From FishC Mobile | 显示全部楼层

回帖奖励 +30 鱼币

那你的二维数组是什么类型?字符串?整数?name1又是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 15:27:42 | 显示全部楼层

回帖奖励 +30 鱼币

char *name = {"张三","李车","老王"}
char a[4][3]
指针数组 用来保存姓名,
2维数组用来保存成绩
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-5 15:40:53 | 显示全部楼层
傻眼貓咪 发表于 2022-4-5 15:18
那你的二维数组是什么类型?字符串?整数?name1又是什么?

char类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 15:58:46 From FishC Mobile | 显示全部楼层
#include <stdio.h>

typedef struct{
        char name[20];
        int score_A, score_B, score_C;
}Person;

int main(){
        Person arr[4] = {
                {"小甲鱼", 85, 33, 45},
                {"小白", 72, 55, 72},
                {"小黑", 33, 31, 66},
                {"小花", 20, 78, 89}
        };
        
        printf("%s 的 score B 分数是 %d", arr[1].name, arr[1].score_B);
        
        return 0;
}
小白 的 score B 分数是 55
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 16:00:58 | 显示全部楼层

回帖奖励 +30 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-5 16:08:53 | 显示全部楼层

哥,怎么用scanf 输入数据不是定义在里面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-5 16:13:18 | 显示全部楼层
        int n;
        char name[0];
        scanf("%d",&n);
        char content[n][10][10];
        for(int i=0;i<n;i++){
                scanf("%s %s %s",&content[i][0],&content[i][1],&content[i][2]);
                printf("content[0]=%s,content[1]=%s,content[2]=%s\n",content[i][0],content[i][1],content[i][2]);
        }

用一个三维数组可以吗?理论上可以,但是出错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-5 16:15:58 | 显示全部楼层
当我加上name = content[i][0];  报错 30    [Error] invalid conversion from 'char*' to 'char' [-fpermissive]

        int n;
        char name;
        scanf("%d",&n);
        char content[n][10][10];
        for(int i=0;i<n;i++){
                scanf("%s %s %s",&content[i][0],&content[i][1],&content[i][2]);
                printf("content[0]=%s,content[1]=%s,content[2]=%s\n",content[i][0],content[i][1],content[i][2]);
                name = content[i][0];
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 16:20:53 From FishC Mobile | 显示全部楼层
涛4091 发表于 2022-4-5 16:15

scanf() 里的字符串占位符 %s 不用 &
因为 char* xxxxx 本身就是指针了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 16:21:49 From FishC Mobile | 显示全部楼层
涛4091 发表于 2022-4-5 16:13

是可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-5 16:34:56 | 显示全部楼层


我那样写不行啊,报错了老哥,如何解决[Error] invalid conversion from 'char*' to 'char' [-fpermissive]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 16:53:19 | 显示全部楼层

回帖奖励 +30 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-5 16:55:19 | 显示全部楼层

回帖奖励 +30 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-4-5 17:08:49 | 显示全部楼层
以解 删帖,莫回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-5 17:09:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-8 16:14:13 | 显示全部楼层
本帖最后由 yzzc 于 2022-4-8 16:19 编辑

……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-10 21:18:33 | 显示全部楼层
我揣测了题意,觉得使用结构是最好解决的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-4 17:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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