嵌入式 linux和c 指针顺序和逆序存储

顺序存储

#include<stdio.h>
int main()
{
char a[10]="1234567890";
char b[9];
char *p=a;
char *q=b;
int i=10;
while(i--)
*q++=*p++;
printf("%s\n",b);
return 0;
}

逆序存储

#include<stdio.h>
int main()
{
char a[10]="1234567890";
char b[9];
char *p=a;
char *q=b;
int i=9;
while(i--)
*q++=(*p+i);
printf("%s\n",b);
return 0;
}

时间: 2024-10-08 18:18:09

嵌入式 linux和c 指针顺序和逆序存储的相关文章

10.14 将n个数按输入输出顺序的逆序排列,用函数实现

将n个数按输入输出顺序的逆序排列,用函数实现. #include <stdio.h> int main(){ int n,i; void reverse(int * num, int n); printf("input n="); scanf("%d",&n); int num[20]; printf("输入%d个数.\n",n); for(i=0; i<n; i++){ scanf("%d",&am

Java数组逆序存储

package review01; import java.util.Arrays; public class review01 { public static void main(String[] args) { method(); } private static void method() { // 数组逆序存储 int[] arr = { 2, 0, 1, 6, 1, 2, 0, 7, 2, 0, 1, 2, 3, 3 }; for (int s = 0, e = arr.length

[LeetCode]2. Add Two Numbers用链表逆序存储的两个数相加

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) + (5 -> 6 ->

Python基础课:定义一个函数,输入一个序列,判断序列是顺序还是逆序,顺序输出UP,逆序输出DOWN,否则输出None

1 def fun(arg): 2 try: 3 li = list(arg) 4 if(sorted(li)==li): 5 print('顺序序列UP') 6 elif(sorted(li, reverse=True)==li): 7 print('逆序序列DOWN') 8 else: 9 print('None') 10 except Exception as e: 11 print('您输入的不是序列,请输入一个序列') 12

要对一个列表进行顺序,逆序排序,请问使用什么方法?

n = [5,6,78,9,3,0] n.sort() print(n) n = [5,6,78,9,3,0] n.reverse() print(n) 原文地址:https://www.cnblogs.com/sunjingtao/p/10096972.html

字符串逆序(使用指针实现)

  #include <stdio.h> #include <stdlib.h> #include <malloc.h> char* Reverse(char* s) { //将q指向字符串最后一个字符 char* q = s ; while( *q++ ) ; q -= 2 ;     //分配空间,存储逆序后的字符串.       char* p = (char *)malloc(sizeof(char) * (q - s + 2)) ;     char* r =

字符串的逆序

普通排序: 直接分配一个同等大小的数组,反向copy即可. char* Reverse(char* s){    //将q指向字符串最后一个字符    char* q = s ;    while( *q++ ) ;    q -= 2 ;     //分配空间,存储逆序后的字符串.    char* p = newchar[sizeof(char) * (q - s + 2)] ;     char* r = p ;    // 逆序存储    while(q >= s)        *p+

字符串逆序

普通逆序 基本上没有这么考的,放在这里主要是为了和后面的原地逆序做个对比.很简单,直接分配一个与原字符串等长的字符数组,然后反向拷贝一下即可. char* Reverse(char* s) {    //将q指向字符串最后一个字符     char* q = s ;    while( *q++ ) ;     q -= 2 ;      //分配空间,存储逆序后的字符串.     char* p = newchar[sizeof(char) * (q - s + 2)] ;      char

数组逆序=全局内存版 VS 共享内存版

全局内存版 1 #include <stdio.h> 2 #include <assert.h> 3 #include "cuda.h" 4 #include "cuda_runtime.h" 5 #include "device_launch_parameters.h" 6 //检查CUDA运行时是否有错误 7 void checkCUDAError(const char* msg); 8 // Part3: 在全局内存