gpt4 book ai didi

c - 根据用户输入附加到 C 字符串

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

我想通过用户输入接收一个整数x,并返回一个长度为x(以“#”表示)的字符串。

x = 4

⇒“####”

是否可以有一个简单的解决方案,大致如下:

printf( "%c * x = %c", hash, x, hash*x);

目前,我的在线发现让我创建了一个迭代程序:

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

//function creates xhash with width '#' characters
void append( char* xhash, char hash, int x )
{
int i = 0;
for ( i = 0; i < x; i++ ) { xhash[i] = hash; }
xhash[x] = '\0';
}

int main ( void )
{
int x = 0;
scanf( "%d", &x );

char xhash[250] = "";
char hash = "#";

append( xhash, hash, x );

printf( "%c", xhash );

return 0;
}

这给了我一个奇怪的设计:▒

我发现 C 字符串非常困惑,来 self 将使用的 Python

str.append(i) 

str = "#" * x

最佳答案

C 没有成熟的字符串数据类型。如果 char 值,“C 字符串”只是连续序列,以值为 0 的字符终止(可以拼写为 '\0') .

不过,对您的问题非常重要的是(1)char是整数数据类型,(2)字符串文字使用的分隔符与(single-)char不同 文字,以及 (3) 字符串文字计算为指向 C 字符串第一个字符的指针

因此,这...

char hash = "#";

...尝试将指针存储在hash中,可能会导致指针值的最后一个字节。相反,你想要这个:

char hash = '#';

此外,要通过 printf() 系列函数之一打印 C 字符串,您需要使用编辑描述符 %s:

printf("%s", xhash);

描述符%c用于输出单个字符。

关于c - 根据用户输入附加到 C 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28309633/

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