gpt4 book ai didi

c - 如何定义此代码并将其作为函数调用?

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

我是编程新手。我正在学习 CS50。我不确定如何将此代码定义为函数。我希望该函数返回 key[n]。如何调用该函数?

#include <stdio.h>
#include <cs50.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, string argv[])
{

int n = strlen(argv[1]);
int key[n];
int k =0;

for( int i = 0; i < strlen(argv[1]); i++)
{
if(islower(argv[1][i]) != 0)

{
for(int j = 97; j < argv[1][i]; j++)
{
k++;
}
key[i] = k;
k = k*0;
}

if(isupper(argv[1][i]) != 0)
{
for(int j = 65; j < argv[1][i]; j++)
{
k++;
}
key[i] = k;
k = k*0;
}
}


}

最佳答案

该函数可以采用以下方式,如下面的演示程序所示。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

int * f( const char *s )
{
int *key = NULL;

size_t n = strlen( s );

if ( n != 0 && ( key = calloc( n, sizeof( int ) ) ) != NULL )
{
for ( size_t i = 0; i < n; i++ )
{
unsigned char c = s[i];

if ( islower( c ) ) key[i] = c - 'a';
if ( isupper( c ) ) key[i] = c - 'A';
}
}

return key;
}

int main( int argc, char * argv[] )
{
if ( argc == 2 )
{
int *key = f( argv[1] );
if (key != NULL)
{
// some other code
free( key );
}
}

return 0;
}

关于c - 如何定义此代码并将其作为函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56618565/

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