我希望有一个字符串保存15个特殊字符,这些字符在键盘中不可用,但具有ASCII值。在字符串C中分配特殊字符
字符的ASCII值是205 这是我一个做的是:
int main(){ int i; char a[15]; for(i=0;i<15;i++) a[i]=205; printf("%s",a); return 0; }
输出为“= S”,这是不按规定,请帮助。
我希望有一个字符串保存15个特殊字符,这些字符在键盘中不可用,但具有ASCII值。在字符串C中分配特殊字符
字符的ASCII值是205 这是我一个做的是:
int main(){ int i; char a[15]; for(i=0;i<15;i++) a[i]=205; printf("%s",a); return 0; }
输出为“= S”,这是不按规定,请帮助。
C“字符串”实际上是“空终止”字符数组。 因此,您需要使用一个字符,并且您需要将其设置为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;
}
此外,最好在您的程序结束前至少打印一个新行。
我的输出:
═══════════════
C没有字符串类型。 'nul'终止符是一个约定,它在C中产生一个'字符串',所以它不是“_most_标准函数”,而是全部**。 – Olaf
ASCII码是从'0'到'127'。 '205'不是ASCII码。并且不要使用_magic numbers_。 – Olaf
其余的128个字符是扩展ASCII字符。 –
没有标准的“扩展ASCII”!只有各种8位编码有意为低128位代码定义相同的字符。但是它们都不是ASCII标准的一部分。无论如何,C标准不强制执行ASCII,并且还有其他的编码,例如, EBCDIC。例如,常用的UTF-8也使用7位主编码。 – Olaf