我嘗試使用malloc創建字串,然后賦值。但是失敗了,這是為什么?連報錯也沒有。
#include <stdio.h>
#include <stdlib.h>
int main(){
char *a = (char*)malloc(5 * sizeof(char));
char *b = a;
for(int i=0; i<5;i++){
*(b++) = '1';
}
printf("%s\n", *a);
}
uj5u.com熱心網友回復:
printf("%s\n", a);
uj5u.com熱心網友回復:
c 語言字串要以 '\0' 結束。以下代碼供參考
#include <stdio.h>
#include <stdlib.h>
#define N 5
int main()
{
char *a = (char*)malloc((N+1) * sizeof(char));
int i;
for( i=0; i<N;i++)
{
*(a+i) = '1';
}
*(a+i) = '\0';
printf("%s\n", a);
return 0 ;
}
uj5u.com熱心網友回復:
而且缺少結束符uj5u.com熱心網友回復:
沒有以'\0'結束呢,這不算是一個字串呢;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/268938.html
標籤:C語言
上一篇:求助:c語言寫沙漏,部分正確
