首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将此代码定义和调用为函数?

如何将此代码定义和调用为函数?
EN

Stack Overflow用户
提问于 2019-06-16 19:52:23
回答 2查看 44关注 0票数 -3

我是从CS50学习programming.Im的新手。我不确定如何将这段代码定义为函数,我想让函数返回keyn.And,如何调用函数?

代码语言:javascript
复制
#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;
        }
    }


}
EN

回答 2

Stack Overflow用户

发布于 2019-06-16 20:11:03

该函数可以像下面的演示程序中所示的那样看起来像下面这样。

代码语言:javascript
复制
#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;
}
票数 1
EN

Stack Overflow用户

发布于 2019-06-16 21:33:28

函数是带有"in“和"out”的代码块。您可以使用类似int key (int example){}的语法定义一个从外部接收值的函数,并使用key(1);将值传递给您的函数调用。

main()也是一个函数。main()接收的值现在正在代码中使用。

您自己的函数(在main()外部定义的函数)可以通过多种方式完成,但最简单的方法是在main()中保留几乎所有相同的代码,同时弄清楚如何将main()接收到您的函数中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56618565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档