您的位置 首页 电子

C言语试题大全三

1(1)读文件file1txt的内容(例如):123456输出到file2txt:563412(逆序)答案:注意可增长数组的应用includestdio

1.(1)读文件file1.txt的内容(例如):

12
34
56
输出到file2.txt:
56
34
12
(逆序)
答案:
留意可增加数组的使用.
#include
#include
int main(void)
{
int MAX = 10;
int *a = (int *)malloc(MAX * sizeof(int));
int *b;

FILE *fp1;
FILE *fp2;
fp1 = fopen(“a.txt”,”r”);
if(fp1 == NULL)
{
printf(“error1”);
exit(-1);
}
fp2 = fopen(“b.txt”,”w”);
if(fp2 == NULL)
{
printf(“error2”);
exit(-1);
}
int i = 0;
int j = 0;
while(fscanf(fp1,”%d”,&a[i]) != EOF)
{
i++;
j++;
if(i >= MAX)
{
MAX = 2 * MAX;
b = (int*)realloc(a,MAX * sizeof(int));
if(b == NULL)
{
printf(“error3”);
exit(-1);
}
a = b;
}
}
for(;–j >= 0;)
fprintf(fp2,”%d”,a[j]);
fclose(fp1);
fclose(fp2);
free(a);
return 0;
}
2. 剖析下面的代码:
char *a = “hello”;
char *b = “hello”;
if(a= =b)
printf(“YES”);
else
printf(“NO”);
“hello”是一个常量字符串。坐落静态存储区,它在程序生命期内稳定不变。假如编译器优化的话,会有或许a和b一起指向同一个hello的。则地址相同。假如编译器没有优化,那么便是两个不同的地址,则不同
3. 两个字符串,s,t;把t字符串刺进到s字符串的第i个方位前,s字符串有满足的空间寄存t字符串
答案:
void insert(char *s, const char *t, int i)
{
int j,len;
int k=strlen(s)-1;
if(i<0||i>strlen(s))
return;
len=strlen(s)+strlen(t);
for(j=len-1;k>=i;k–,j–)
{
s[j]=s[k];
}
for(k=i;k
{
s[k]=t[k-i];
}
s[len]=;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/260205.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部