C语言易忘知识  随时更新

  1. CR LF,即\r\n CR是0x0D,LF是0x0A。
  2. 十六进制数'\0x'和'\x'有什么区别?(转)
      区别不大,都是把数按16进制输出。 
            \0x:当输出的数转换为16进制只有1位时,在前面补0,如 0a,其它情况按照实际情况输出。 
            \x:按照输出数转换为16进制的实际位数输出。 
            此外,小写x和大写X也有点区别,小写的x输出小写符号的16进制,大写X则输出大写的
           (主要针对      ABCDEF这六位)
3.       字符串中加入引号使用转义支付\   例uartsend("\"");
4.       *(__IO uint8_t *)(Bank2_NAND_ADDR | ADDR_AREA)     
           (Bank2_NAND_ADDR | ADDR_AREA) 是long型
           (__IO uint8_t *)(Bank2_NAND_ADDR | ADDR_AREA)  说明(Bank2_NAND_ADDR | ADDR_AREA)是个指针 它指向的是一个8位整形数。*(__IO uint8_t *)(Bank2_NAND_ADDR | ADDR_AREA)  指向的8位整形数
在C语言中,你可以使用`strncpy`、`strcpy`和`strcat`函数配合循环结构,来实现字符串中空格替换为`&amp;&nbsp;`的功能。下面是一个简单的示例: ```c #include <stdio.h> #include <string.h> #include <ctype.h> // 包含isblank函数,用于判断是否为空格字符 void replaceSpaces(char* inputStr) { size_t length = strlen(inputStr); // 获取输入字符串长度 char output[length + 1]; // 新建一个足够大的输出缓冲区 // 遍历输入字符串 for (size_t i = 0; i < length; ++i) { if (!isspace((unsigned char)inputStr[i])) { // 判断当前字符是否为空格 output[copyCharsSoFar++] = inputStr[i]; // 如果不是空格,直接复制到输出 } else { output[copyCharsSoFar++] = '&'; // 如果是空格,替换为'&' output[copyCharsSoFar++] = 'n'; output[copyCharsSo_far++] = 'b'; output[copyCharsSoFar++] = 's'; output[copyCharsSoFar++] = 'p'; output[copyCharsSoFar++] = ';'; } } output[copyCharsSoFar] = '\0'; // 结尾添加终止符 strcpy(inputStr, output); // 将结果覆盖回原输入字符串 } int main() { char inputStr[MAX_LENGTH]; printf("请输入一个字符串: "); fgets(inputStr, MAX_LENGTH, stdin); // 输入字符串 // 移除fgets可能读取的换行符 inputStr[strcspn(inputStr, "\n")] = '\0'; replaceSpaces(inputStr); printf("转换后的字符串: %s\n", inputStr); return 0; } ``` 在这个代码中,我们首先创建一个新的字符数组`output`来保存处理过的字符串。遍历输入字符串,如果遇到空格,则替换为`&amp;&nbsp;`;否则直接复制。遍历完后,我们将处理后的字符串复制回原始输入字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值