gpt4 book ai didi

C 根据带指针的字符串输入打印特定字符

转载 作者:行者123 更新时间:2023-11-30 16:19:50 24 4
gpt4 key购买 nike

鉴于此:

 char c[]={ '0', 0, 'o', 'a', 'i', 'e' };

char s_format[] = { "\nBra"
"v%c!\n" };

该程序的目标是根据输入打印不同的代码行,可以是:

                            OUTPUT
./nameofmyfile Bravo
./nameofmyfile mp Bravi
./nameofmyfile f Brava
./nameofmyfile fp Brave

在我的 main 中,我有两个 char 指针:

char *q = c;      //this one is initialized at position c[0]
char *p = NULL;

我想我可以只使用 *q 指针来打印 s_format 中的字符 o、i、a 或 e,而不使用 switch 结构。

这个 for 循环可能是正确的吗?

for (unsigned int i=2; i<sizeof(c); ++i) {
printf("%c", *(q+i), s_format[4]);
}

或者我应该使用一系列的 if 吗?

if ( argc > 3 && strlen(argv[3]) ) {
if ( *(argv[3]) == 'f' )
i = 3;
}

if ( argc > 4 && strlen(argv[4]) ) {
if ( *(argv[4]) == 'mp' )
i = 4;
}

if ( argc > 1 && strlen(argv[5]) ) {
if ( *(argv[5]) == 'fp' )
i = 5;
}

最佳答案

使用这个:

#include <stdio.h>
#include <math.h>

char c[]={ '0', 0, 'o', 'a', 'i', 'e' };

const char * s_begin = "Brav";
const char * s_end ="!\n";

int main()
{
int i = 3;
printf("%s%c%s", s_begin,c[i],s_end); //prints brava
return 0;
}

如果您接受我的建议,您可以点击上方箭头进行投票,也可以按V接受答案

关于C 根据带指针的字符串输入打印特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55478185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com