c程序设计错题集

这篇博客汇总了C语言编程中关于数组、字符串、排序算法、文件流、指针操作和结构体等方面常见的错误及解析。包括数组定义规范、strcmp函数用法、数组元素与整个数组的区别、选择法和冒泡法排序的实现、文件操作的误解以及指针数组和结构体指针的理解等知识点。
摘要由CSDN通过智能技术生成

错题集
数组:
1.数组定义中,数组名后是用方括号括起来的常量表达式,不能用圆括号。(正确)
解析:数组标准样式array[ ],不能用array();

2.函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。
(正确)
解析:用strcmp函数时头文件用#include<string.h>
在字符串比较时 如果相等时 返回int值0
如果字符串1>字符串2,则返回正整数
反之返回负整数。

3 .数组定义后,只能引用单个的数组元素,而不能一次引用整个数组。
(正确)
解析:数组只能用循环输出,
但是字符串数组可以用%s输出

4 .若有定义int a[]={2,4,6,8,10},a[1]和a++表示的含义相同。
(错误)
解析:a为数组名,数组名不能自增。

程序填空题:
1.选择法排序:本题要求将给定的nnn个整数从小到大排序后输出。输出时相邻数字中间用一个空格分开,行末不得有多余空格。
#include <stdio.h>
#define MAXN 10
int main()
{
int i, index, k, n, temp;
int a[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &a[i]);
}
for(k = 0; k < n-1; k++){
index = k
for(i = k + 1; i < n; i++){
if(a[i] < a[index]){
index = i;
}
}
temp = a[index]; a[index] = a[k]; a[k] = temp;
}
for(i = 0; i < n; i++) {
if((i == 0)){
printf("%d", a[i]);
}else{
printf(" %d", a[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值