为什么会报Segmentation fault?解决思路
为什么会报Segmentation fault????????
#include <stdio.h>
int main() {
char buf[4096];
char *str = "#include <stdio.h> \r\n ";
snprintf(buf,sizeof(buf),str);
printf( "%d %d %d\n ",buf[18],buf[19],buf[20]);
printf( "%s\n ",buf[18]);//这里为什么会报Segmentation fault
return 0;
}
------解决方案--------------------
鎵撳嵃瀛楃涓茬殑鏃跺€欑浜屼釜鍙傛暟鏄竴涓瓧绗︿覆鎸囬拡锛岃€屼綘缁欑殑涓嶆槸锛屾墍浠ヤ細鍑虹幇
閿欒銆?
鎵€浠ュ簲璇ユ敼姝d负锛?
printf( "%s\n ",&buf[18]); 鎴栬€?printf( "%s\n ",buf+18);
------解决方案--------------------
&buf[18] or buff+18
#include <stdio.h>
int main() {
char buf[4096];
char *str = "#include <stdio.h> \r\n ";
snprintf(buf,sizeof(buf),str);
printf( "%d %d %d\n ",buf[18],buf[19],buf[20]);
printf( "%s\n ",buf[18]);//这里为什么会报Segmentation fault
return 0;
}
------解决方案--------------------
鎵撳嵃瀛楃涓茬殑鏃跺€欑浜屼釜鍙傛暟鏄竴涓瓧绗︿覆鎸囬拡锛岃€屼綘缁欑殑涓嶆槸锛屾墍浠ヤ細鍑虹幇
閿欒銆?
鎵€浠ュ簲璇ユ敼姝d负锛?
printf( "%s\n ",&buf[18]); 鎴栬€?printf( "%s\n ",buf+18);
------解决方案--------------------
&buf[18] or buff+18