指针如何读入长度80个字符内的字符串

下面程序中读入长度80个字符内的字符串,然后输出。
#include "stdio.h"
#include "stdlib.h"
int main(){
char *p;
p=空白9___;
scanf("%s",p);
printf("%s",p);
}

供参考:

#include "stdio.h"
#include "stdlib.h"
int main() {
    char* p;
    p = (char*)malloc(sizeof(char) * 80);//  空白9___;
    scanf("%s", p);
    printf("%s", p);
}

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7678512
  • 这篇博客也不错, 你可以看下【807】将一个字符数组中的字符串复制到另一个字符数组中
  • 除此之外, 这篇博客: 江苏大学计算机考研805编程题中的 题目给定义,编程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ##2004
    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    int prism(int );
    int main()
    { FILE *fp;
    int t1,t2;
    int i,j,n;
    while(1)
    {
    scanf("%d",&n);
    j=prism(n);
    if(j==1)
    printf(“该数是一个素数”);
    else
    {
    printf(“该数是一个偶数”);
    break;}
    }
    for(i=0;i<=n/2;i++)
    {
    if(prism(i)&&prism(n-i))
    {
    t1=i;
    t2=n-i;
    }
    }
    printf("%d %d",t1,t2);

    if((fp=fopen(“result.txt”,“w”))==NULL)
    {
    printf(“打开文件失败”);
    exit(0);
    }

    fprintf(fp,"%d",t1);
    fprintf(fp,"%d",t2);
    fclose(fp);

     return 0;
    

    }

    int prism(int n)
    { int i;
    int j=sqrt(n);
    for(i=2;i<=j;i++)
    if(n%i==0)
    {
    return 0;}
    if(i>j)
    return 1;
    }

  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    首先,我们可以定义一个字符数组和一个指向字符数组的指针。我们可以使用fgets()函数来读取不超过80个字符的字符串,并将其存储在字符数组中。接下来,我们可以将指针指向该字符数组,并使用printf()函数将字符串打印出来。

    代码如下:

    #include<stdio.h>
    
    int main() {
      char str[81]; //定义字符数组,长度为81,可以存储不超过80个字符的字符串
      char* ptr; //定义指向字符数组的指针
      ptr = str; //指向字符数组
    
      printf("请输入字符串(长度不超过80个字符): ");
      fgets(str, 81, stdin); //使用fgets()函数读取字符串
    
      printf("输入的字符串为: %s", ptr); //使用指针将字符串打印出来
    
      return 0;
    }
    

    解释一下代码:

    1.我们首先定义了一个字符数组str[81], 长度为81, 可以存储不超过80个字符的字符串。

    2.然后,我们定义了一个指向字符数组的指针ptr。

    3.我们使用fgets()函数从标准输入中读取字符串,最多读取80个字符,将其存储在字符数组str中。该函数的第二个参数指定要读取的最大字符数,因此我们将其设置为81。

    4.最后,我们使用printf()函数打印存储在字符数组中的字符串。使用指针ptr打印字符串,同时也可以直接使用数组名str打印。

    输出:

    请输入字符串(长度不超过80个字符): Hello World!
    输入的字符串为: Hello World!
    

    参考资料:

    [1] C语言问题-如何用指针读入长度不超过80个字符的字符串,并将其输出

    [2] C语言函数指针-阮行止的博客

    [3] C语言字符指针-蜗居码客的博客