我有一个代码想要将英文字母表中的所有后者放入一个字符串中,问题是,Visual Studio 给我这个:警告
warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char'
还有这个:警告 2
warning C4024: 'strcat' : different types for formal and actual parameter 2
这是代码,请告诉我它有什么问题,无法正确编译。
#include <stdio.h>
#include <string.h>
#define NUM_ABC_LET 27
void makeABC(char abc[NUM_ABC_LET]);
int main()
{
char abcString[NUM_ABC_LET] = "";
makeABC(abcString);
puts(abcString);
return (0);
}
void makeABC(char abc[NUM_ABC_LET])
{
char letter;
for (letter = 'a'; letter <= 'z'; letter++)
{
strcat(abc, letter);
}
}
最佳答案
标准 C 函数 strcat
处理字符串。因此,如果您确实想使用函数 strcat
,那么循环可能看起来像
void makeABC( char abc[NUM_ABC_LET] )
{
char letter[] = "a";
for ( ; letter[0] <= 'z'; letter[0]++ )
{
strcat( abc, letter );
}
}
关于c - 尝试将字符追加到字符串时出现警告 C4047 和 C4024,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29059735/