C根据用户输入打印出首字母缩略词

时间:2017-03-08 18:41:20

标签: c linux

我是Linux和C编程的新手。我一直在尝试研究命令行编码(使用nano编辑器),并试图弄清楚如何制作一个带有一个或多个命令行参数的程序并打印出首字母缩略词。

到目前为止我的尝试:

#include <stdio.h>

int main(int argc, char *argv[])
{
  int i = 0;
  for(i = 0; i < argc; i++)
  {
    while(argv[i]!='\0')
    {
      if(argv[i] = ' ')
      {
        i++;
        printf("%c,argv[i+i]);
      }
    }
  }
  return 0;
}

2 个答案:

答案 0 :(得分:0)

argv[i]本身已经是一个字符串。您应该只检查其第一个字符并迭代i

#include <stdio.h>
#include <ctype.h>

int main(int argc, char *argv[])
{
    for(int i = 1; i < argc; i++)
    {
        if(isupper(argv[i][0]))
            printf("%c", argv[i][0]);
    }
    return 0;
}

答案 1 :(得分:0)

有一些错误
int == 0;                       // syntax error
for(i == 0; i < argc; i++)      // i is not set by a comparison

无论如何代码都没有真正做到,请试试这个:

#include <stdio.h>
#include <ctype.h>

int main(int argc, char *argv[])
{
    char acronym[argc];
    int index = 0;
    for(int i = 1; i < argc; i++) {
        if(isupper(argv[i][0])) {
            acronym[index] = argv[i][0];
            index++;
        }
    }
    acronym[index] = '\0';
    printf("The acronym is %s\n", acronym);
    return 0;
}

计划会议:

test Three Letter better Acronym
The acronym is TLA