gpt4 book ai didi

c - 一个字符串的长度

转载 作者:太空宇宙 更新时间:2023-11-04 05:07:04 25 4
gpt4 key购买 nike

为什么我进去的时候是这样;

char string[10^4];
scanf("%s", string);

我得到一个运行时错误和这个;

char string[10000];
scanf("%s", string);

工作顺利吗?

顺便说一句,当输入不是大字符串时,两者都可以正常工作。 For example, when the string was "abc", it worked fine in both cases but when it was "wqrjljowspxmsvkjkkogvcyheydhikggaypnjdkbvhnpcxyojowhquouuuceeimgicurheuenjtritfshbbyxpsrlwxpfjwpnsjxwdbjnxaxqhryisyhkqavnxnuillwdutzywkntkkmtckbuikga", it worked for only the second case.

请原谅我超长的字符串。它是我的测试用例的一部分。

最佳答案

10^4 的值为 14,因为 ^ 是 XOR 运算符。

您不能简单地将 1E4 写成 104,因为它是一个浮点常量,而数组边界必须是整数常量。您可以强制转换它 (char string[(int)1E4];),但为什么不简单明了地写下您的意思:char string[10000];在第二个例子中做了。

有一个你应该写的论点:

if (scanf("%9999s", string) != 1)
…handle input error or EOF…

这可以防止缓冲区溢出。

关于c - 一个字符串的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466750/

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