![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
c语言小知识点
进击的小王666
这个作者很懒,什么都没留下…
展开
-
c语言指针问题
对于以下代码段:int a[] = {1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d", q-p);当sizeof(int)为4时,以下说法正确的是:A. 因为第三行的错误不能编译B. 因为第三行的错误运行时崩溃C. 输出5D. 输出20指针的减法实际是地址间能存放多少个指针指向对象的数据类型的值。a是int型数组,其地址是连续的。因此结合指针减法的定义知其之间能放5个int变量。需注意,平时对指针变量做±得到的可不对应指向对象原创 2021-03-18 20:03:27 · 515 阅读 · 0 评论 -
c语言输入后无法直接获取打印结果?
今天在做一道关于整数分解的题,提取出个位然后打印突然发现输入后得换行再输入才有效。小白可能会犯和我一样的问题,那就是scanf里加了换行符会出现重复输入程序才有响应的结果删除后则正常了,如下#include<stdio.h>int main(){int x;int digit;scanf("%d",&x);while(x>0){digit=x%10;x/=10;printf("%d",digit);}return 0;}...原创 2021-03-16 18:27:33 · 567 阅读 · 0 评论 -
关于数组
数组:就是一组具有相同数据类型的数据的有序集合。由下标标识位数,自0开始。定义格式为:类型标识符 数组名[常量表达式]注意,用[]、包含不可为变量。且数组在内存中连续存储。数组必须先定义,然后使用。C语言规定只能逐个引用数组元素而不能一次引用整个数组。引用格式为:数组名[下标]可以看出和定义的区别为前面是否由类型标识符,注意区分,引用时可以有变量或表达式形式例如:int a[10]={0,1,2,3,4,5,6,7,8,9};也可以只给一部分数组元素赋值如int a[10]={0,1,2,原创 2021-03-13 21:30:57 · 3381 阅读 · 0 评论 -
数据类型长度
#include <stdio.h>int main(){int a;a=6;//short 2//char 1//int 4//short int2//long int 4//long4//long long 8//float 4//double 8printf("%d",sizeof(long));}通过判断一些常见类型的长度,需要加以理解记忆。,其中int 和long长度随计算机cpu和编译器变化。...原创 2021-03-17 14:42:59 · 119 阅读 · 0 评论 -
关于遍历数组条件的问题
今天学到一个用for去遍历数组`#include <stdio.h>int main(){int x;double sum;int cnt=0;//计数变量,记录数组数据个数int number[100];scanf("%d",&x);while(x!=-1){number[cnt]=x;sum+=x;cnt++;scanf("%d",&x);}if(cnt>0){double average=sum/cnt;int k;for(k=原创 2021-03-17 16:12:06 · 141 阅读 · 0 评论 -
srand(time(0))的作用(c语言)
在学习翁恺老师的c课程中,有这样一个猜数游戏include <stdio.h>#include <stdlib.h>#include<time.h>int main(){srand(time(0));int number=rand()%100+1;int count=0;int a=0;printf(“我已经想到了一个1到100的数。”);do{printf(“猜猜这个1到100的数:\n”);scanf("%d",&a);count+原创 2021-03-16 10:00:57 · 6273 阅读 · 3 评论 -
水仙花遇到的问题
作为一个纯小白,今天做水仙花的时候,再次遇到了问题#include <stdio.h>int main(){ int i,n; i=100; for(i=100;i<1000;i++) { n=i; int sum=0; while(n>0) { int d=n%10; n/=10; int p=d*d*d;原创 2021-03-17 10:59:47 · 74 阅读 · 0 评论