列表

详情


EP5. 嵌入式会改变的指针

描述

牛牛在嵌入式中学习到了volatile的方法,想要考考你。请创建一个square函数,输入volatile类型的整型指针p,返回p指向值的平方。p的初始指向值为预置函数fun的输入值n。

示例1

输入:

1

输出:

1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 3ms, 内存消耗: 292KB, 提交时间: 2022-08-04

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int square(volatile int *p)
{
    return (*p)*(*p);
}

int fun(int n ) {
    // write code here
    return square(&n);
}

C 解法, 执行用时: 3ms, 内存消耗: 296KB, 提交时间: 2022-08-05

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int square(volatile int *p)
{  return ((*p)*(*p)); }  

int fun(int n ) {
    // write code here
    return square(&n);
}

C 解法, 执行用时: 3ms, 内存消耗: 304KB, 提交时间: 2022-08-05

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */

    
int fun(int n ) {
    // write code here
   volatile int *p=&n;
    return (*p)*(*p);
}

C 解法, 执行用时: 3ms, 内存消耗: 308KB, 提交时间: 2022-08-05

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int fun(int n ) {
    // write code here
    volatile int32_t *p = &n; 
    return ((*p) * (*p));
}

C 解法, 执行用时: 3ms, 内存消耗: 308KB, 提交时间: 2022-08-04

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
volatile int *p;

int square(int *p)
{
    return *p * *p;
}
int fun(int n ) {
    // write code here
    p = &n;
    return square(p);
}

上一题