C语言问题。。。运行不成功
答案:5 悬赏:70 手机版
解决时间 2021-03-05 07:38
- 提问者网友:感性作祟
- 2021-03-04 22:30
#include
int main()
{
int i=0;
char*a; //如果我用数组可以成功运行
gets(a);
while(a[i])
{
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
else if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
i++;
}
printf("%s\n",a);
}
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-03-04 22:38
#include
#include //要使用堆内存,就要包括此文件
int main()
{
int i=0;
char*a; //如果我用数组可以成功运行
a = (char*)malloc(100); //必须先申请内存空间
gets(a);
while(a[i])
{
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
else if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
i++;
}
printf("%s\n",a);
free(a); //释放内存。养成好习惯:有借有还,再借不难。
}
全部回答
- 1楼网友:一袍清酒付
- 2021-03-05 03:18
你没给指针申请内存
- 2楼网友:北方的南先生
- 2021-03-05 02:29
你可以在头文件中定义 数据类型 struct student{} 和 函数
然后主函数中调用加上#include 在这个头文件里的实现函数 要是正确的能够通过编译的
其实也可建议你写一个dll
或则你直接把数据类型 struct student{} 变量为全局变量 各个函数都可以调用 挺好的
- 3楼网友:零点过十分
- 2021-03-05 01:35
你的指针都没有定义指向,这个指针是野指针,当然不能使用了。
你要么定义指针的时候指向某个位置,这个位置是存在的,要么自己定义的时候开辟一段空间,用new来实现一下。
- 4楼网友:荒野風
- 2021-03-05 00:02
加个#include
再把a这样定义来开一块存储区给a,
char *a= (char*)malloc(sizeof(char));
如:
#include
#include int main()
{
int i=0;
char *a= (char*)malloc(sizeof(char));//分配空间
gets(a);
while(a[i])
{
if(a[i]>='A'&&a[i]<='Z')
a[i]+=32;
else if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
i++;
}
free(a);//释放空间
dest = a;
printf("%s\n",a);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯