我希望有一個字符串保存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