关于C语言内存问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 05:58:46
#include<stdio.h>
#include<string.h>
void wodeta(char *t)
{*t=strupr(*t);}
void main()
{
char a[20],*t;
t=a;
wodeta(*t);
printf("%s",a);
}声明,我是菜鸟,刚学习C语言,这题运行无错,连接无错。但无结果。
运行结果,内存错误,哪个高手能给详细解释一下,关于内存的问题。

能编译过是因为你的编译器太烂了

#include<stdio.h>
#include<string.h>

void wodeta(char *t)
{
t=strupr(t);
}
void main()
{
char a[20] = "asdfadfa",*t;
t=a;

wodeta(t);

printf("%s",a);

}

wodeta(*t);
把这句的*号去掉就行了,因为你的函数里要求的是地址传递,如加上*就亿值传递了。

你的char a[20]没有值,你让他转换什么?初始值都不给?

wodeta(*t);
改为wodeta(t);