显示用户输入的字符串的字符。C语言

显示用户输入的字符串的字符。C语言,c,string,find,character,C,String,Find,Character,我想问一下,是否可以这样做: 例如,我有一个带文本的字符串B,我编写了如下代码: puts("Enter the number of character in string B:"); gets(number); 我想一个程序将打印用户输入的字符。比如说 charb[]={“Shop”} 用户输入4,计算机打印p字符。我认为这应该是这样的: char b[number]; printf("%s", b); 但它不起作用。我希望你能理解我想做什么。对不起,为了我的英语。仍在学习。尝试以下

我想问一下,是否可以这样做: 例如,我有一个带文本的字符串B,我编写了如下代码:

puts("Enter the number of character in string B:");

gets(number);
我想一个程序将打印用户输入的字符。比如说

charb[]={“Shop”}

用户输入4,计算机打印p字符。我认为这应该是这样的:

char b[number];

printf("%s", b); 
但它不起作用。我希望你能理解我想做什么。对不起,为了我的英语。仍在学习。

尝试以下方法:

if ((number <= strlen(B)) && (number >= 1))
    printf("%c", B[number - 1]);
else
    printf("Entered number: %d : is out of range\n", number);
if((数字=1))
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);
试试这个:

if ((number <= strlen(B)) && (number >= 1))
    printf("%c", B[number - 1]);
else
    printf("Entered number: %d : is out of range\n", number);
if((数字=1))
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);
试试这个:

if ((number <= strlen(B)) && (number >= 1))
    printf("%c", B[number - 1]);
else
    printf("Entered number: %d : is out of range\n", number);
if((数字=1))
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);
试试这个:

if ((number <= strlen(B)) && (number >= 1))
    printf("%c", B[number - 1]);
else
    printf("Entered number: %d : is out of range\n", number);
if((数字=1))
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);

关于乔的回答:

不要忘记检查负值:

    if (number <= strlen(B) && unmber>=0)
        printf("%c", B[number - 1]);
    else
        printf("Entered number: %d : is out of range\n", number);
if(数字=0)
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);

关于乔的回答:

不要忘记检查负值:

    if (number <= strlen(B) && unmber>=0)
        printf("%c", B[number - 1]);
    else
        printf("Entered number: %d : is out of range\n", number);
if(数字=0)
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);

关于乔的回答:

不要忘记检查负值:

    if (number <= strlen(B) && unmber>=0)
        printf("%c", B[number - 1]);
    else
        printf("Entered number: %d : is out of range\n", number);
if(数字=0)
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);

关于乔的回答:

不要忘记检查负值:

    if (number <= strlen(B) && unmber>=0)
        printf("%c", B[number - 1]);
    else
        printf("Entered number: %d : is out of range\n", number);
if(数字=0)
printf(“%c”,B[编号-1]);
其他的
printf(“输入的编号:%d:超出范围,\n”,编号);

您可以编写,
printf(“%c”,number+(4-1))
以打印精确字符。在本例中为第4个字符。但这不是正确的方法。我觉得仅仅看一下你的代码是不对的。您的“number”应该是char数组,而不是整数值,而且不能声明长度可变的数组。数组“b”的固定长度足够大,可以存储所需的字符总数,或者使用动态内存。您可以编写,
printf(“%c”,number+(4-1))
以打印精确字符。在本例中为第4个字符。但这不是正确的方法。我觉得仅仅看一下你的代码是不对的。您的“number”应该是char数组,而不是整数值,而且不能声明长度可变的数组。数组“b”的固定长度足够大,可以存储所需的字符总数,或者使用动态内存。您可以编写,
printf(“%c”,number+(4-1))
以打印精确字符。在本例中为第4个字符。但这不是正确的方法。我觉得仅仅看一下你的代码是不对的。您的“number”应该是char数组,而不是整数值,而且不能声明长度可变的数组。数组“b”的固定长度足够大,可以存储所需的字符总数,或者使用动态内存。您可以编写,
printf(“%c”,number+(4-1))
以打印精确字符。在本例中为第4个字符。但这不是正确的方法。我觉得仅仅看一下你的代码是不对的。您的“number”应该是char数组,而不是整数值,而且不能声明长度可变的数组。您的数组“b”固定长度足够大,可以存储预期的字符总数,或者您使用动态内存。非常感谢!!!也许你可以回答你为什么在([数字-1])中写-1。然而,它工作得非常完美!在C中,数组索引从0开始到(len-1)。在您的示例中,如果您希望在给出“4”时打印“p”,那么“p”的值在B[3]中。非常感谢!!!也许你可以回答你为什么在([数字-1])中写-1。然而,它工作得非常完美!在C中,数组索引从0开始到(len-1)。在您的示例中,如果您希望在给出“4”时打印“p”,那么“p”的值在B[3]中。非常感谢!!!也许你可以回答你为什么在([数字-1])中写-1。然而,它工作得非常完美!在C中,数组索引从0开始到(len-1)。在您的示例中,如果您希望在给出“4”时打印“p”,那么“p”的值在B[3]中。非常感谢!!!也许你可以回答你为什么在([数字-1])中写-1。然而,它工作得非常完美!在C中,数组索引从0开始到(len-1)。在您的示例中,如果您希望在给出“4”时打印“p”,那么“p”的值在B[3]中。我已经更新了我的答案。你也可以直接编辑我的答案。这样我们就可以避免在threadThansk中重复答案。我已经更新了我的答案。你也可以直接编辑我的答案。这样我们就可以避免在threadThansk中重复答案。我已经更新了我的答案。你也可以直接编辑我的答案。这样我们就可以避免在threadThansk中重复答案。我已经更新了我的答案。你也可以直接编辑我的答案。这样我们就可以避免线程中重复的答案