C语言,字符串输出是乱码

就是要让他选出元音字母,然后复制到第二个字符串中去,刚学C语言,实在有点笨,请各位不吝指教,多谢了。

第1个回答  2012-10-08
if( !(file = fopen(name, "wb")))

你是以二进制的方式打开文件的,用“w+”吧: fopen(name, "w+")
第2个回答  2015-06-10
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int random(int num);
void main()
{
int i,n;
char p[100][10];
printf("请输入学生人数:");
scanf("%d",&n);
//p=(char*)malloc(n*sizeof(char));
if(p==NULL)
{
printf("Insufficient memory available\n");
exit(0);
}
printf("请依次输入学生姓名:");
for(i=0;i<n;i++)
scanf("%s",p[i]);
printf("被点到的同学的名字是:");
printf("%s ",p[random(n-1)]);

}
int random(int num)
{
int t;
srand(time(NULL));
t=rand()%num+0;
return(t);
}
第3个回答  2010-03-04
getnick 返回的a,是一个局部变量,当getnick返回后,这个变量就无效了,这个变量所指内存中的内容变得不可预测,打印出来的当然不行了。你要么把 a 声明在函数外面,作一个全局变量,要么在getnick里
static char a[] = ....;
第4个回答  2010-03-04
getnick函数内的数组a是局部数组,在栈上分配空间``,当getnick执行完后,栈空间会被回收
可把a定义为全局变量或动态申请空间(在堆中分配空间)
相似回答