gpt4 book ai didi

c - 如何在 C 上将字符串(字符)和变量拆分为 1 行?

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

如何将字符和变量拆分为 1 行?

示例

输入

car1900food2900ram800

输出

car     1900
food 2900
ram 800

代码

char namax[25];
int hargax;

scanf ("%s%s",&namax,&hargax);

printf ("%s %s",namax,hargax);

如果我使用这样的代码,我需要双输入或空格来进行输出。没有它我怎么能 split ?

最佳答案

您应该能够使用这样的代码来读取一个姓名和号码:

if (scanf("%24[a-zA-Z]%d", namax, &hargax) == 2)
…got name and number OK…
else
…some sort of problem to be reported and handled…

您需要将其包装在某种循环中才能获得三对值。请注意,使用 &namax作为 scanf() 的参数从技术上来说是错误的。 %s , %c%[…] (扫描集)符号都期望 char *参数,但您传递的是 char (*)[25]这是完全不同的。偶然的巧合意味着您通常会逃脱虐待,但它仍然不正确并省略 &很简单(而且正确)。

您可以在 scanf() 的 POSIX 规范中找到有关扫描集等的详细信息。 .

您应该考虑使用 fgets() 读取整行输入或 POSIX getline() ,然后用 sscanf() 处理结果字符串。这使得错误报告和错误恢复更加容易。另请参阅How to use sscanf() in loops .

关于c - 如何在 C 上将字符串(字符)和变量拆分为 1 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52638731/

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