我是从CS50学习programming.Im的新手。我不确定如何将这段代码定义为函数,我想让函数返回keyn.And,如何调用函数?
#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;
}
}
}
发布于 2019-06-16 20:11:03
该函数可以像下面的演示程序中所示的那样看起来像下面这样。
#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;
}
发布于 2019-06-16 21:33:28
函数是带有"in“和"out”的代码块。您可以使用类似int key (int example){}
的语法定义一个从外部接收值的函数,并使用key(1);
将值传递给您的函数调用。
main()也是一个函数。main()接收的值现在正在代码中使用。
您自己的函数(在main()外部定义的函数)可以通过多种方式完成,但最简单的方法是在main()中保留几乎所有相同的代码,同时弄清楚如何将main()接收到您的函数中。
https://stackoverflow.com/questions/56618565
复制相似问题