在字符串C中指定特殊字符

在字符串C中指定特殊字符,c,string,C,String,我希望有一个字符串包含15个特殊字符,这些字符在键盘上不可用,但有一个ASCII值 字符的ASCII值为205。 以下是我为此所做的: intmain(){ int i; chara[15]; 对于(i=0;iC),字符串实际上是以“null结尾”的字符数组。 因此,您需要再使用一个字符,并且需要将其设置为0,或'\0' #include <stdio.h> int main() { int i; char a[16]; for(i=0;i<15;i+

我希望有一个字符串包含15个特殊字符,这些字符在键盘上不可用,但有一个ASCII值

字符的ASCII值为205。 以下是我为此所做的:

intmain(){
int i;
chara[15];
对于(i=0;iC),字符串实际上是以“null结尾”的字符数组。
因此,您需要再使用一个字符,并且需要将其设置为
0
,或
'\0'

#include <stdio.h>

int main()
{
    int i;
    char a[16];
    for(i=0;i<15;i++) 
        a[i]=205;

    a[15] = 0;
    printf("%s\n",a);
    return 0;
}

ASCII码从
0
127
205
不是ASCII码。不要使用幻数。其余128个字符是扩展ASCII字符。没有标准的“扩展ASCII”!只有各种8位编码故意为较低的128位代码定义相同的字符。但它们都不是ASCII标准的一部分。无论如何,C标准不强制ASCII,还有很多其他代码,例如EBCDIC。例如,常用的UTF-8也使用7位主编码。辩护地说,我不是expert:D字符数据类型占用1字节内存(0-255)因此,总共有256个字符,包括那些假想字符。标准只需要一个字节来容纳至少8位。这是因为它是
char
类型的同义词,最小范围是
char
。而
char
可以有符号或无符号,所以
0..255
(无符号字符的最小范围,即一个字节)是错误的。还要注意,
char
是一个整数类型。C没有显式字符类型。但这仍然不是ASCII。请阅读有关字符编码的内容!常用的UTF-8使用7位作为字符代码,第8位作为标志。同样对于C,您有两个字符集:源字符集和执行字符集。无论是什么“假想字符”areC没有字符串类型。
nul
终止符是一种在C中生成“字符串”的约定,因此它不是“大多数标准函数”,而是所有函数。
═══════════════