在C中逐字符读字符串

时间:2014-09-27 07:20:13

标签: c arrays string char main

所以我有一个传递给main函数的字符串:int main(int argc,char * argv [])

我理解argc(在这种情况下是2),但是不明白我怎么能逐个字符地阅读argv []? 当我打印argv [0]时,不应该打印该字符串的字符数组中的第一个字符吗?

由于

2 个答案:

答案 0 :(得分:3)

样本

#include <stdio.h> 

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

答案 1 :(得分:0)

又一个例子:

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

int main (int argc, char *argv[])
{
    if(argc != 2)
    {
        //argv[0] is name of executable
        printf("Usage: %s argument\n", argv[0]);
        exit(1);
    }
    else
    {
        int i;
        int length = strlen(argv[1]);
        for(i=0;i<length;i++)
        {
            printf("%c",argv[1][i]);
        }
        printf("\n");
        return 0;
    }
}