下面程序中读入长度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);
}
##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;
}
解决方案:
首先,我们可以定义一个字符数组和一个指向字符数组的指针。我们可以使用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语言字符指针-蜗居码客的博客