m0_61873236 2022-03-16 20:38 采纳率: 85%
浏览 49
已结题

c语言程序相关的问题

c语言初学者 编写一个程序
输入一行字母 然后输入数字 最后打印数字对应的字母
如果是空格就输出空格 如果是字符就输出字符
例子

./c 
abcdefghijklmnopqrstuvwxyz
0
Is 'a'

./c 
abcdefghijklmnopqrstuvwxyz
2
Is 'c'

./c 
Are you ok?
3
Is ' '

./c 
Are you ok?
10
Is '?'

想问下怎么写
在Linux系统下

  • 写回答

3条回答 默认 最新

  • _GX_ 2022-03-16 20:59
    关注
    #include <stdio.h>
    #include <string.h>
    
    int main(int argc, char *argv[])
    {
        if (argc < 2)
        {
            printf("%s <string> ...\n", argv[0]);
            return 1;
        }
    
        char buffer[256];
        char *p = buffer;
        for (int i = 1; i < argc; i++)
        {
            strcpy(p, argv[i]);
            p += strlen(argv[i]);
            *p++ = ' ';
        }
        *p = '\0';
    
        int n;
        scanf("%d", &n);
    
        if (n >= 0 && n < strlen(buffer))
            printf("Is '%c'\n", buffer[n]);
        else
            printf("invalid index\n");
    
        return 0;
    }
    
    $ gcc -Wall main.c
    $ ./a.out abcdefghijklmnopqrstuvwxyz
    0
    Is 'a'
    $ ./a.out abcdefghijklmnopqrstuvwxyz
    2
    Is 'c' 
    $ ./a.out Are you ok?
    3
    Is ' '
    $ ./a.out Are you ok?
    10
    Is '?'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 修改了问题 3月16日
  • 创建了问题 3月16日