gpt4 book ai didi

等价于 C 的 C++

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

在动态内存中处理数组的程序。需要 C 的等价物。有人可以帮忙吗?

const int n = 6;
char **words = (char**) malloc(n *sizeof(char*));
for(int i = 0 ; i < n; i++)
words[i] = (char*)malloc( 50 * sizeof(int));

for(int i = 0; i < n; i++)
{
cin>>words[i];
}

cout<<endl;
for(int i = 0; i < n; i++)
{
if(words[i][0] == 'q')
cout<<words[i]<<endl;
}

最佳答案

仅有的 C++ 部分是 cincout;您可以轻松更改它们:

cin>>words[i];

成为

scanf("%s", words[i]);

gets(words[i]);

同时

cout<<words[i]<<endl;

成为

puts(words[i]);

顺便说一句,在 cin/scanf/gets 中你有一个潜在的缓冲区溢出,因为你正在为 6 个字符分配空间但您正在接受任何长度的输入。你应该这样做:

scanf("%6s", words[i]);

或(更易于维护,因为它直接使用 n)

fgets(words[i], n, stdin);

(尽管这将包括字符串中的尾随 \n)

关于等价于 C 的 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408549/

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