gpt4 book ai didi

c 中的 char 数组不适用于 Visual Studio 2015

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

  1. 这是拾取字符串的唯一方法吗?不能一个字符一个字符地放入数组吗?
  2. 我访问内存时出错。附上代码和错误。
void main()
{
int counA = 0, countB = 0, Na, Nc, i, index;
printf("enter Na and Nc\n");
scanf_s("%d%d", &Na, &Nc);
char DNA[1000], SEQ[1000], str[1000];

printf("enter mulekula\n");
scanf_s("%s", str);
}

输入:

2
3
AAA

我收到的消息:

exception thrown...

最佳答案

fgets 可以提供帮助,请参阅此代码

#include<stdio.h>
#include<string.h>
int main()
{
chat str[1000];

fegts(str,sizeof(str),stdin);

str[strlen(str)-1]='\0';
return 0;

}

此代码将从控制台获取输入,直到您按 Enter 为止,但请注意 fgets 在输入中包含换行符('\n'),因此我们需要删除它并以空字符('\0 ')。

这就是这行代码的原因 str[strlen(str)-1]='\0'; 所以 strlen(str) 将返回字符串的长度,包括换行符。

例如:

如果输入是 "fo" ,那么它存储在 str 中,如下所示:

str[0] = 'f'、str[1]='o'、str[2]='\n' 和 str[3]='\0'。因此 strlen(str)-1 将返回 2 ,因此 str[2] 将被分配给空字符 '\0'

最后字符串如下:

str[0] = 'f'、str[1]='o' 和 str[2]='\0'。

关于c 中的 char 数组不适用于 Visual Studio 2015,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56364178/

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