为什么我的c prog在打印出一个数组时停止工作

use*_*640 3 c arrays fgets

在这个程序中,我正在解析一个csv文件fgets,并根据我对c prog的了解,它将文件转换为一个数组.

因此,当我打印出来时,printf("%s",input)我得到这个10,20,30例如,但当我包括printf("%s",input[0])该程序停止工作.这是我正在进行的计划:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct xa 
{
  int x;
  int y;
  int z;
} xo;

int main()
{
    FILE *dudufile;
    char filename[]="dodo.dat";
    char input[1679];
    dudufile=fopen(filename,"r");

    while ( fgets(input,1679, dudufile ) != NULL )
    {
        printf("%s\n",input);
        printf("%s\n",input[0]);
        struct xa;
        xo.y=input[1];
        printf("%d",xo.y);      
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*eri 5

编译警告:

警告:格式'%s'需要'char*'类型的参数,但参数2的类型为'int'[-Wformat]

应该:

printf("%c\n",input[0]);
Run Code Online (Sandbox Code Playgroud)