用于记录我在学习编程时,遇到的那些值得记录的问题,随时更新。
1.程序死循环
int main()
{
int i = 0;
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
for (i = 0; i <= 12; i++)
{
arr[i] = 0;
printf("hello bit\n");
}
return 0;
}
死循环
2. 输入空格
scanf 输入时,接收不了空格,可以用 gets 或 fgets。c11好像不支持gets
gets(接收的字符串的地址)
fgets(arr,1000,stdin)
arr 接收字符串的地址
1000 为接收的位数
stdin 为标准输入,一般指键盘输入
3.pow 函数
double pow( x, y) 即 求 x的y次方,返回值类型为double
4.printf函数 打印时可以加数字,指定打印的宽度,例: printf(“%20s”,*);以20个字符打印,不足的填补空格。
这有助于我们打印多个内容时,内容对齐。但是注意直接加数字是右对齐,左对齐需要加负号
5. isspace(*p)判断是否为空字符
isdigit(*p) 判断是否为数字字符
6.assert 在 debug 模式下是有效的,release 模式下是会被忽略的
7.
print(%5.3s,"hello,world)
5:表示输出的最小宽度为 5 个字符。如果输出的实际字符数少于 5 个,则在左侧补空格以达到指定的宽度。
3:表示字符串的最大输出长度为 3 个字符。如果字符串超过 3 个字符,则只输出前 3 个字符。打印的结果为: hel
hel前有两个空格
8. int a=10 ; double b=3.14 ; 则表达式 'A'+a+b 值的类型是()
根据 C++ 中的类型提升规则,当不同类型的操作数参与运算时,会进行类型提升以匹配最宽的类型。在这个表达式中,字符 'A'
会被转换为整数类型,与变量 b 的类型相匹配。