菜鸟求助,C语言字符指针必须初始化?后面程序只是把字符指针当临时变量,不初始化提示错误?我有一个简单的程序,但我发现好多问题
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
int len, i, j;
char *temp ;
char arr[1025] = { 0 };
gets(arr);
len = strlen(arr);
for (i = 0;i < len;i++)
for (j = i + 1;j < len;j++)
{
if (arr[i] > arr[j]&&arr[j]!=' ')
{
*temp = arr[i];
arr[i] = arr[j];
arr[j] = *temp;
}
}
puts(arr);
system("pause");
return 0;
}程序是对输入的字符串按ASCII排序,这程序在VS2015编译不通过,提示gets未定义和使用了未初始化的局部变量temp,如果改为char *temp=NULL,输入纯数字比如12345可以得到正确结果,如果输入有字母,比如123qwe,则输出提示错误,0xC0000005: 写入位置 0x00000000 时发生访问冲突,这是为何?
...全文
相关推荐
新手C语言的常见错误(仅供菜鸟成长参考).rar
新手C语言的常见错误(仅供菜鸟成长参考)"这个资源集合了众多前辈的经验教训,旨在帮助初入编程领域的菜鸟们避免或快速解决在学习C语言过程中遇到的问题。
C语言常见错误提示信息详解与调试指南
// 哎呀,这里少了个;编译器立马跳出来提醒你:expected ';记住一条铁律:结构体、枚举、联合体的定义末尾必须加分号,因为它们属于“声明语句”。那么,怎么减少这类低级错误呢?✅推荐工具配置如果你用 VS Code,可以加上这些设置:开启波浪线报错提示后,一旦少了分号,编辑器马上给你标红,比人眼快十倍!另外,强烈建议你在编译时加上这些选项:其中-Werror是个狠角色——它会把所有警告当错误处理,只要有一点小问题,编译就通不过。
c语言经典菜鸟编程实例
总之,"C语言经典菜鸟编程实例"是一个很好的起点,通过系统学习和实践,初学者能逐步建立起对C语言的深刻理解,并培养出良好的编程思维。不断练习和挑战自己,是成为熟练C语言程序员的关键。
C语言入门教程菜鸟到专家
此外,C语言还支持复合数据类型,包括数组、结构体、联合体等。 - **指针操作**:指针是C语言的一个强大特性,允许程序员直接操纵内存地址,从而实现对数据的高效访问和管理。
111.zipC语言菜鸟保姆级代码
**预处理器与文件包含**:"预处理器.c"可能会介绍宏定义、条件编译和头文件包含等内容。10. **错误处理与调试**:"错误处理与调试技巧.c"会分享如何在编程过程中发现和修复问题。


