c语言~ 编程
发布网友
发布时间:2022-05-02 01:25
我来回答
共5个回答
热心网友
时间:2022-06-26 04:32
数组的下标是从0开始的~
假如数组A里有三个元素,这三个元素可以表示成A[0]、A[1]、A[2],数组的大小是根据你定义时确定下来的~
有3中定义方法
1、int a[100];
2、int[] a=new int[100];
3、int[] a={1,2,3,4};
第一种定义直接给他分配了100个空间的内存,第二个也是,第三个是根据后面数组元素来分配内存的,有几个元素就是长度为几的数组。
字符串"asd"的长度是三,入到数组里也是长度为三。
至于换行问题应这样吧~把printf("%s",word) 数组输出后再写一个printf("\n")
热心网友
时间:2022-06-26 04:33
#include<stdio.h>
#include"string.h"
void main()
{
char temp,word[100];
int i,n;
printf("Please input a word\n");
scanf("%s",word);
n=strlen(word);
for(i=0;i<n/2;i++)
{
temp=word[i];
word[i]=word[n-1-i];//是word[n-1-i]非word[n-i]
word[n-1-i]=temp;//是word[n-1-i]非word[n-i]
}
for(i=0;i<n;i++)
printf("%c",word[i]);
}
用malloc或calloc申请内存;见链接
加#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{ char *p,temp;
int i,num;
printf("Please the long of the word\n");
scanf("%d",&num);//输入字符数组的长度
p=(char *)calloc(num,sizeof(char));//申请num个char型内存
printf("Please input a word\n");
scanf("%s",p);//输入字符数组
for(i=0;i<num/2;i++)
{
temp=p[i];
p[i]=p[num-1-i];
p[num-1-i]=temp;
}
printf("%s\n",p);
}
参考资料:http://blog.sina.com.cn/s/blog_5d890d070100fhke.html
热心网友
时间:2022-06-26 04:33
#include"stdio.h"
#include"stdlib.h"
struct ch
{
char x;
struct ch *link;
};
struct ch*creat()
{
struct ch *p,*base;
base=(struct ch*)malloc(sizeof(struct ch));
base->x=getchar();
base->link=NULL;
while(base->x!='\n')
{
p=(struct ch*)malloc(sizeof(struct ch));
p->x=getchar();
p->link=base;
base=p;
}
return(base);
}
int main(int argc, char* argv[])
{
struct ch *a,*h;
printf("输入字符串");
a=creat();
while(a!=NULL)
{
printf("%c",a->x);
a=a->link;
}
return 0;
}
要总是有足够空间,就只有用链表了。上面程序已调试通过
热心网友
时间:2022-06-26 04:34
"题目是输入一个字符串 倒序输出 如输入AbcD 则输出DcbA"是要实现这个目的????
用这个试试
#include<stdio.h>
void fun()
{ char c;
if((c=getchar())!='\n')
fun();
putchar(c);
}main()
{fun();}
热心网友
时间:2022-06-26 04:34
#include<stdio.h>
#include <string.h>
void main()
{
int i,j;
char a[10];
char *p;
p=&a[0];
gets(a);
j=strlen(a);
p=&a[j-1];
for(i=j;i>0;i--,p--)
printf("%c",*p);
}