Spperman


私信TA

用户名:fan

访问量:63139

签 名:

优秀的程序员是没有女朋友的...

等  级
排  名 64
经  验 10136
参赛次数 0
文章发表 66
年  龄 19
在职情况 学生
学  校 河南师范大学
专  业 物联网

  自我简介:

单身是因为——太优秀了...

解题思路:

定义一个空数组b,将a数组m位给b【1】



注意事项:





参考代码:#include<stdio.h>
main()
{
    int i,n,m,j,k=0;
    char a[100],b[10],*p=a;
    scanf("%d",&n);
    getchar();         //带走回车符
    fgets(a,n+1,stdin);      //'\0' 还有一位
    scanf("%d",&m);
    for(j=m-1,i=0;j<n;j++,i++)
    {
       b[i]=a[j];
    }
      b[i]='\0';         //别忘啦给b数组末尾加字符串标识
   printf("%s",b);
}

 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

数组传参就是传的地址
2023-02-06 11:31:30
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main(void)
{
	char a[1024] = { 0 };
	int b,c;
	scanf_s("%d", &b);
	setbuf(stdin, NULL);
	for (int i = 0; i < b; i++)
	{
		scanf("%c", &a[i]);
	}
	setbuf(stdin, NULL);
	scanf_s("%d", &c);
	c -= 1;
	for (int j=c; j < b; j++)
	{
		printf("%c", a[j]);
	}
	return 0;
}可以帮我看看我这个是哪里错了吗??
2021-01-06 22:14:07
我觉得对于这种直接用数组就可以比较简单,你动态申请内存有点复杂啦,一般free一下养成好习惯哦!
2018-09-05 18:49:07
请问我一开始没加结束符,输出的bcde倒是有,但后面总是多出一些乱七八糟的符号,这是为什么,明明开辟的空间m-n+1个char字符,为什么还会多分配出来导致乱七八糟的符号呢?求解答,给您看下我本来的代码,和您的差不多
#include<stdio.h>
int main()
{
	int n, m,i,j=0;	
	char *str,*substr;
	scanf("%d", &n);
	str = (char *)malloc((n+1) * sizeof(char));
	scanf("%s",str);
	scanf("%d",&m);
	substr= (char *)malloc((n-m+1) * sizeof(char));
	for (i = m - 1; i<n; i++)
	{
		substr[j++] = str[i];
	}
	//substr[j] = '\0';
	printf("%s", substr);
	return 0;
}



结果输出是这样滴bcde   几个其他字符
2018-07-31 16:47:13
  • «
  • 1
  • »